delphi4arab منتديات دلفي للعرب
ماهي طريقة التصفية باستعمال DBloockupbox - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : ماهي طريقة التصفية باستعمال DBloockupbox (/showthread.php?tid=7433)

الصفحات: 1 2


ماهي طريقة التصفية باستعمال DBloockupbox - فارس المطر - 25-01-2016

السلام عليكم أحبتي


من يستطيع أن يمخمخ معي في هته المشكلة 

برنامج delphi  وقاعدة معطياتsqlserver


[صورة: 981626cbadcf1.jpg]

لدي جدولين المركز  ، الموظف

اريد تصفية أسماء الموظفين حسب اسم المركز
أي عندما أختار أسم مركز في   DBloockupbox     يتم عرض أسماء الموظفين التابعين للمركز المحدد        
مع العلم الجدولين مربوطين برمز المركز
  
ماهي طريقة التصفية الصحيحة



هدة محاولتي
كود :
procedure TForm5.DBLookupComboBox1Click(Sender: TObject); var  ch, code: string; begin      ch:='select * from centr where nomcentr ='+Quotedstr(DBLookupComboBox1.Text);      ADOQuery1.Close;      ADOQuery1.SQL.Clear;      ADOQuery1.SQL.Add(ch);      ADOQuery1.Open;      code:=ADOQuery1.Fieldbyname('codcentr').Value;      ch:='select * from fonctionnaire where codcentr ='+Quotedstr(code);      ADOQuery2.Close;      ADOQuery2.SQL.Clear;      ADOQuery2.SQL.Add(ch);      ADOQuery2.Open; end;



RE: ماهي طريقة التصفية باستعمال DBloockupbox - محمد عبد العزيز - 26-01-2016

وعليكم السلام
مع أي مكون/جذول تم ربط DBloockupbox ؟



RE: ماهي طريقة التصفية باستعمال DBloockupbox - فارس المطر - 26-01-2016

(26-01-2016, 04:56 AM)B.M.AbdelAziZ كتب : وعليكم السلام
مع أي مكون/جذول تم ربط DBloockupbox ؟

أهلا أخي

 DBloockupbox   تم ربطه من جدول مركز   ليستخرج أسماء المراكز   





RE: ماهي طريقة التصفية باستعمال DBloockupbox - rahiche - 26-01-2016

مرحبا اخي فهمت انك تريد التصفة في جدول المراكز و تضهر لك النتائج على dblookupcombobox الامر عادي باستخدام الفلترة العادية ضع edit و اكتب فيها كود الفلتر المعروف ثم سيبحث مباشرة في الجدول و تضهر النتائج التي تريدها . عن تجربة خاصة
هذا ما فهمته من السؤال


RE: ماهي طريقة التصفية باستعمال DBloockupbox - Mr.DOS - 26-01-2016

سلام عليكم
شاهد المثال المرفق

.rar   !.rar (الحجم : 96.31 ك ب / التحميلات : 66)


RE: ماهي طريقة التصفية باستعمال DBloockupbox - محمد عبد العزيز - 26-01-2016

ان كانت هناك علاقة بين الجدولين كما قلت فلا تحتاج اي برمجة، بمجرد اخيار الاب هنا المركز تتم فلترة الابناء اي الموظفبن


RE: ماهي طريقة التصفية باستعمال DBloockupbox - فارس المطر - 26-01-2016

شكرا لكم احبابي
أنا أقصد عرض في Dbgrid إسماء الموظفين   الذين ينتمون الى المركز الذي أحدده منDBLookupComboBox1   فقط  
في الصورة   =  مثال  عندما أحدد مركز  Sof     يعرض الموظفين المنتمين للمركز فقط
مع العلم أن جدول الموظفين مربوط مع جدول المركز برمز المركز وليس باسم المركز
[صورة: 26_01_1614538414759251.jpg]

 محاولتي الاخيرة  نتيجتها في الصورة

كود :
procedure TForm5.DBLookupComboBox1Click(Sender: TObject); var  ch, id: string; begin      ch:='select nom,prenom from fonctionnaire where codcentr ='+Quotedstr(id);      ADOQuery1.Close;      ADOQuery1.SQL.Clear;      ADOQuery1.SQL.Add(ch);      ADOQuery1.Open;      end; تم عرض خصائص الجدول فقط بدون اسماء مع ان جدول الموظفين به بيانات



RE: ماهي طريقة التصفية باستعمال DBloockupbox - فارس المطر - 27-01-2016

(26-01-2016, 08:08 PM)B.M.AbdelAziZ كتب : ان كانت هناك علاقة بين الجدولين كما قلت فلا تحتاج اي برمجة، بمجرد اخيار الاب هنا المركز تتم فلترة الابناء اي الموظفبن
       أخي هناك علاقة بين الجدولين عن طريق كود المركز  كما في الصورة = 102

      عند اختياري اسم المركز  ECOLE2      لم أستطع عرض اسماء الموظفين التابعين للمركز 102  تم عرض خصائص الجدول فقط Huh
[صورة: 145392386764551.jpg]
كود :
procedure TForm5.DBLookupComboBox1Click(Sender: TObject); var  ch, id: string; begin      ch:='select nom,prenom from fonctionnaire  where codcentr ='+Quotedstr(DBEdit1.Text);      ADOQuery1.Close;      ADOQuery1.SQL.Clear;      ADOQuery1.SQL.Add(ch);      ADOQuery1.Open;      end;



RE: ماهي طريقة التصفية باستعمال DBloockupbox - rahiche - 27-01-2016

اها اخي استخدم الكومبوبوكس combobox لانه يمكن الفلترة باستخدام خاصية text الموجودة فيها و لاحضار اسماء المراكز للكومبوبوكس استخدم
while not(table.eof) then begin
combobox.items.add(tablename.asstring);
table.next
end


RE: ماهي طريقة التصفية باستعمال DBloockupbox - محمد عبد العزيز - 28-01-2016

جرب ما يلي مع تغيير Table1 بإسم الجدول أو Query الذي ربطته مع المكون DBLookupComboBox1
كود :
procedure TForm5.DBLookupComboBox1Click(Sender: TObject); Var  ch, id: string; begin  id:=Table1.Fieldbyname('codcentr').AsString;  ch:='select nom,prenom from fonctionnaire  where codcentr ='+Quotedstr(id);  ADOQuery1.Close;  ADOQuery1.SQL.Clear;  ADOQuery1.SQL.Add(ch);  ADOQuery1.Open; End;