المشاركات : 128
المواضيع 47
:
: 24
الإنتساب : Jan 2015
25-01-2016, 10:31 PM
السلام عليكم أحبتي
من يستطيع أن يمخمخ معي في هته المشكلة
برنامج delphi وقاعدة معطياتsqlserver
لدي جدولين المركز ، الموظف
اريد تصفية أسماء الموظفين حسب اسم المركز
أي عندما أختار أسم مركز في 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;
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
وعليكم السلام
مع أي مكون/جذول تم ربط DBloockupbox ؟
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 128
المواضيع 47
:
: 24
الإنتساب : Jan 2015
(26-01-2016, 04:56 AM)B.M.AbdelAziZ كتب : وعليكم السلام
مع أي مكون/جذول تم ربط DBloockupbox ؟
أهلا أخي
DBloockupbox تم ربطه من جدول مركز ليستخرج أسماء المراكز
المشاركات : 531
المواضيع 96
:
: 118
الإنتساب : Jun 2014
مرحبا اخي فهمت انك تريد التصفة في جدول المراكز و تضهر لك النتائج على dblookupcombobox الامر عادي باستخدام الفلترة العادية ضع edit و اكتب فيها كود الفلتر المعروف ثم سيبحث مباشرة في الجدول و تضهر النتائج التي تريدها . عن تجربة خاصة
هذا ما فهمته من السؤال
المشاركات : 476
المواضيع 0
:
: 217
الإنتساب : Apr 2011
26-01-2016, 07:28 PM
(آخر تعديل لهذه المشاركة: 26-01-2016, 07:53 PM بواسطة محمد عبد العزيز.)
سلام عليكم
شاهد المثال المرفق
!.rar (الحجم : 96.31 ك ب / التحميلات : 66)
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
ان كانت هناك علاقة بين الجدولين كما قلت فلا تحتاج اي برمجة، بمجرد اخيار الاب هنا المركز تتم فلترة الابناء اي الموظفبن
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 128
المواضيع 47
:
: 24
الإنتساب : Jan 2015
شكرا لكم احبابي
أنا أقصد عرض في Dbgrid إسماء الموظفين الذين ينتمون الى المركز الذي أحدده منDBLookupComboBox1 فقط
في الصورة = مثال عندما أحدد مركز Sof يعرض الموظفين المنتمين للمركز فقط
مع العلم أن جدول الموظفين مربوط مع جدول المركز برمز المركز وليس باسم المركز
محاولتي الاخيرة نتيجتها في الصورة
كود :
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;
تم عرض خصائص الجدول فقط بدون اسماء مع ان جدول الموظفين به بيانات
المشاركات : 128
المواضيع 47
:
: 24
الإنتساب : Jan 2015
(26-01-2016, 08:08 PM)B.M.AbdelAziZ كتب : ان كانت هناك علاقة بين الجدولين كما قلت فلا تحتاج اي برمجة، بمجرد اخيار الاب هنا المركز تتم فلترة الابناء اي الموظفبن
أخي هناك علاقة بين الجدولين عن طريق
كود المركز كما في الصورة = 102
عند اختياري اسم المركز ECOLE2 لم أستطع عرض اسماء الموظفين التابعين للمركز 102 تم عرض خصائص الجدول فقط
كود :
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;
المشاركات : 531
المواضيع 96
:
: 118
الإنتساب : Jun 2014
اها اخي استخدم الكومبوبوكس combobox لانه يمكن الفلترة باستخدام خاصية text الموجودة فيها و لاحضار اسماء المراكز للكومبوبوكس استخدم
while not(table.eof) then begin
combobox.items.add(tablename.asstring);
table.next
end
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
جرب ما يلي مع تغيير 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;
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ