السلام عليكم
لدي برنامج اقوم ببرمجته وواجهت مشكلة في زر البحث عن البيانات الموجودة في
edit1.text والان اسعى الى برمجة البحث عن اي مدخلات في الedit.text عند الضغط على زر بحث .
هناك عدة طرق للبحث
1- باستخدام ADOTable أو ADODataset عن طريقة خاصية الفلترة Filter
كود :
AdoTable1.Filtered := False
AdoTable1.Filter := 'FiledName = '+QuotedStr(Edit1.Text)
AdoTable1.Filtered := True;
أو عن طريق locate
كود :
if(Locate('Id;Name', VarArrayOf(['19665', 'Mohamed']), [loPartialKey])) Then
Do Something;
2- عن طريق TadoQuery وذلك بارسال جملة استعلام sql لقاعدة البيانات ثم فحص عدد السجلات الناتجة ما إذا كانت أكبر من صفر ..
كود :
With Adoquery1 do
begin
Close;
Sql.Clear;
sql.add('select fieldname from yourtable where fieldname = '+quotedstr(edit1.text))
open
if recordcount > 0 then
do something
end;
للاسف اشتغلت معي فقط
كود :
AdoTable1.Filtered := False
AdoTable1.Filter := 'FiledName = '+QuotedStr(Edit1.Text)
AdoTable1.Filtered := True;
لكن عند البحث لا ياتيني شيء فقط كل الخلايا في الجدول تختفي ولا تعود ابدا
السلام عليكم هل جربت استبدال FiledName باسم الحقل الخاص بك !!
يبدو انك نقلت الكود حرفيا بدون تغيير ... عليك ان تغير الكود وذلك باستبدال fieldname بالحقل الخاص بك و yourtable بالجدول الخاص بك