كيف اقوم بتصفية Filter جدول بإستخدام حقلين او اكثر في نفس الوقت
#1
السلام عليكم
كيف اقوم بتصفية جدول بإستخدام حقلين او اكثر
PHP كود :
table1.Filter:='ane='+edit11.Text; ;  
             
almasarif.Filtered:=true; 
في هذه الجملة قمت بفرز جدول بإستخدام edit من خلال حقل السنة 'ane'
المطلوب هو كيف اقوم بالفرز بإستخدام حقل السنة 'ane' و حقل الشهر 'moi' بالاعتماد على edit1 , edit2؟
الرد
#2
السلام عليكم

استعمل استعلامات sql

مثال
PHP كود :
query1.close;
query1.SQL.Add('SELECT * FROM TableName ');
query1.SQL.Add('WHERE Field1 ='+edit1.Text+' AND Field2 = '+edit2.Text+'');
query1.open; 



.
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
الرد
#3

السلام عليكم
جرب شيئ مثل هذا

كود :
Var s,s1,s2 : String; begin s:=''; s1:=Edit1.Text; s2:=Edit1.Text; if s1<>'' then s:='(ane='+QuotedStr(s1)+')'; if s2<>'' then begin if s<>'' then s:=s+' AND '; s:=s+'(moi='+QuotedStr(s2)+')'; end; Table1.Filter:=s; Table1.Filtered:=s<>''; end;
الرد
#4
السلام عليكم او عن طريق اضافة شرط 1 = 1
مثال
PHP كود :
Query.close;
  
Query.SQL.Add('SELECT * FROM TableName WHERE 1 = 1');
  if 
Edit1.Text <> '' then
  Query
.SQL.Add('and Field1 = ' + QuotedStr(edit1.Text));
  if 
Edit2.Text <> '' then
  Query
.SQL.Add('and Field2 = ' + QuotedStr(edit2.Text));
  
Query.open; 
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد
#5
سلام عليكم

طريقة اخرى : تمرير البراميتر داخل الاستعلام

PHP كود :
with adoquery1 do
  
begin
  Sql
.Clear;
  
Sql.Add('SELECT * FROM TABLE_NAME');
  
Sql.Add('WHERE FIELD1 = :F1  AND FIELD2 = :F2');
  
Parameters.ParamByName('F1').Value:=Edit1.Text;
  
Parameters.ParamByName('F2').Value:=Edit2.Text;
  
Open;
end; 

بالتوفيق
.
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
الرد
#6
سلام عليكم
كيف اقوم بتصفية جدول بإستخدام حقلين بشرط حقلين integer
مع العلم أني أستعمل قاعدة بيانات sqlserver
الرد
#7
إقتباس :كيف اقوم بتصفية جدول بإستخدام حقلين بشرط حقلين integer
السلام عليكم
جرب ما يلي مع تغيير Field1 و Field2 باسماء الحقول و ADOTable1 باسم الجدول عندك

كود :
Var s,s1,s2 : String; begin s:=''; s1:=Edit1.Text; s2:=Edit2.Text; if s1<>'' then s:='(Field1='+s1+')'; if s2<>'' then begin if s<>'' then s:=s+' AND '; s:=s+'(Field2='+s2+')'; end; ADOTable1.Filter:=s; ADOTable1.Filtered:=s<>''; end;
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم