السلام اخواني الكرام
لدي مشكلة او كود من اجل الفلتر في قاعدة البيانات في فايرمنكي مع العلم اني استعمل قاعدة البيانات ado كما استعمال ComboEdit1 في اختيار الحقل الذي اود البحث فيه ( الاسم او اللقب او تاريخ ) و Edit للبحث كما هو موضح في الصورة المرفقة
(27-03-2020, 01:58 PM)SOFIANE09 كتب : السلام اخواني الكرام
لدي مشكلة او كود من اجل الفلتر في قاعدة البيانات في فايرمنكي مع العلم اني استعمل قاعدة البيانات ado كما استعمال ComboEdit1 في اختيار الحقل الذي اود البحث فيه ( الاسم او اللقب او تاريخ ) و Edit للبحث كما هو موضح في الصورة المرفقة
جرب هذا الكود
كود :
procedure TForm2.Button1Click(Sender: TObject);
begin
SetFilter(ComboBox1.ItemIndex, Edit1.Text);
end;
function TForm2.CreateFilter(FieldName, Value: string): string;
begin
if (FieldName = '') or (Value = '') then
Result:= ''
else Result:= FieldName + '=' + Value;
end;
procedure TForm2.SetFilter(FieldIndex: Integer; Value: string);
const
FieldsName: array [0..2]of string =('Nom', 'Prenom', 'DateNaissance');
begin
if FieldIndex in [0..2] then
begin
if FieldIndex = 2 then
ADOTable1.Filter:= CreateFilter(FieldsName[FieldIndex], Value)
else ADOTable1.Filter:= CreateFilter(FieldsName[FieldIndex], QuotedStr(Value));
ADOTable1.Filtered:= True;
end
else ADOTable1.Filtered:= False;
end;
السلام اخي الكريم و اسمحلي اولا ان اشكرك على تفاعلك واهتمامك بالموضوع الذي طرحته كما لا يفوتني ان احيطك علما ان الكود الذي ادرجته في موضوعي لا يعمل لاسباب اجهلها وانا متاكد انه يعمل عندك بشكل عادي ، و استسمحك اخي الكريم ان اضع بين يديك برنامج في المرفقات لتوضيح فكرتي اكثر و المتمثلة في: عند تحديد الحقل المراد البحث فيه عن طريق المكون combobox ( الاسم او اللقب)، اتجه الى edit3 و اكتب الحرف ، حينها تظهر النتائج في grid1 ، وذلك عن طريق خاصية في الحدث onchange لمكون edit3 وشكرا مرة اخرى.
(30-03-2020, 08:15 AM)SOFIANE09 كتب : السلام اخي الكريم و اسمحلي اولا ان اشكرك على تفاعلك واهتمامك بالموضوع الذي طرحته كما لا يفوتني ان احيطك علما ان الكود الذي ادرجته في موضوعي لا يعمل لاسباب اجهلها وانا متاكد انه يعمل عندك بشكل عادي ، و استسمحك اخي الكريم ان اضع بين يديك برنامج في المرفقات لتوضيح فكرتي اكثر و المتمثلة في: عند تحديد الحقل المراد البحث فيه عن طريق المكون combobox ( الاسم او اللقب)، اتجه الى edit3 و اكتب الحرف ، حينها تظهر النتائج في grid1 ، وذلك عن طريق خاصية في الحدث onchange لمكون edit3 وشكرا مرة اخرى.
في FMX يوجد حدث OnChange يحدث لما يتغير قيمة text لكن ليس عندما تضغط على الحروف وإنما عندما تضغط على زر enter ،
أما الحدث OnTyping فهو يحدث عندما تضغط على الحروف
كما أنني إستخدمت LIKE عوضا عن المساواة في الفلتر
إليك البرنامج الذي وضعته مع بعض التغييرات في المرفقات