السلام عليكم
اريد طرقة عمل فلترة باستخدام 3 كومبوبوكس
يعني مثلا _ لدينا جدول واريد الفلتر ب3 حقول تارة في ان واحد او معا حسب اختيار القيمة التي في الكومبوبوكس و في الحدث Onchange
صورة في المرفق
وشكرا .........
شكرا اخي لؤس
تقريبا نفس الفكرة لكن لا تصلح ...
توضيح اكثرا .. مثال لدي قاعدة معطيات فيها عدة جداول اختار انا جدول مثلا فيه 10 حقول
اردت الفلتر على حسب 3 حقول يعني حقل فيه البلد و حقل فيه الولاية وحقل فيه الدائرة وباقي الحقول هي اسم ..القب .العنوان ....الخ
عند اختيار القيم الي في الكومبو الاول وهي (البلد) نعمل فلتر لجميع الاشخاص الي في البلد المحدد و دلك في الحدث onchange و ثم اختار الكومبو الثاني (الولاية) يتم الفلتر الاشخاص الدين يحملون نفس ( البلد و الولاية) و هكدا مع الكمبو الثالث و طريقة الفلتر تقتصر في بعض الاحيان على البلد فقط او لبلد و الولاية ....
وشكرا مرة اخرى اخي لؤي و عذرا على الاطالة ...
with Query do begin sql.Clear; SQL.Add('SELECT * FROM Table where Country ='+QuotedStr(ComboBox1.Items[0])+'and ' +'Wilaya ='+QuotedStr(ComboBox2.Items[0])); Open; end; DBGrid1.Visible:=true;
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
كل من 1 user says قال شكرا ل لؤي على المشاركة المفيدة1 user says Thank You to لؤي for this post • nassim
Var
s,s1,s2,s3 : String;
begin
s:='';
s1:=ComboBox1.Text;
s2:=ComboBox2.Text;
s3:=ComboBox3.Text;
if s1<>'' then s:='(AnneeScolaire='+QuotedStr(s1)+')';
if s2<>'' then begin
if s<>'' then s:=s+' AND ';
s:=s+'(Niveau='+QuotedStr(s2)+')';
end;
if s3<>'' then begin
if s<>'' then s:=s+' AND ';
s:=s+'(Classe='+QuotedStr(s3)+')' ;
end;
ADOTable1.Filtered:= (s<>'');
end;
يمكن حذف الزر وكتابة الكود بحدث مناسب مثلا OnClick للمكون ComboBox وجعله نفس الحدث لباقي مكونات ComboBox