delphi4arab منتديات دلفي للعرب

نسخة كاملة : يظهر هذا الخطا في الفلترة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
[FONT=Arial Narrow]السلام عليكم
قمت بربط قاعدة بيانات اكسس مع الدالفي عن طريق ado
عند اجراء الفلترة (اي عند الكتابة في edit ) يظهر هذا الخطا
علما اني استعمل هذا كود الفلترة
كود :
http://img15.hostingpics.net/pics/362990371.jpg
PHP كود :
if edit1.Text <>'' then
begin
ADOTable1
.Filter :='tele like '+ quotedstr(edit1.Text +'*');
ADOTable1.Filtered :=true;
end
else
ADOTable1.Filtered :=false; 
اين هو المشكل ؟
و عليكم السلام
شيئ من النت :
كود :
procedure DoIncrementalFilter(Dataset: TDataSet; const FieldName, SearchTerm: string); begin Assert(Assigned(Dataset), 'No dataset is assigned'); if SearchTerm = '' then Dataset.Filtered := False else begin Dataset.Filter := FieldName + ' LIKE ' + QuotedStr(SearchTerm + '*'); Dataset.Filtered := True; end; end;
مثال :
كود :
DoIncrementalFilter(ADOTable1, 'tele', Edit1.Text);
لم تشتغل معي
كود :
if Edit1.Text <>'' then begin DataModule2.ADOTable1.Filter := 'Nom like ' +QuotedStr(edit1.Text+'*'); DataModule2.ADOTable1.Filtered := true; end else begin DataModule2.ADOTable1.Filtered := false; end;
نفس المشكلة التي وقعت فيها
عل وجدت لها حل أخي ؟
Paradox and Dbase استعمل "*"

do (Sql Server ,Ms Access استعمل "%"

غير '*' ب '%' في الكود
قم بإستبدال علامة التنصيص و النجمة '*' بالرمز التالي %

افصل بمسافة بين الحقل المراد فلترته ' tele like' والعلامة +

ليصبح الكود كمايلي
كود :
if edit1.Text <>'' then begin ADOTable1.Filter :='tele like ' + quotedstr(edit1.Text +'%'); ADOTable1.Filtered :=true; end else ADOTable1.Filtered :=false;
صارت لي نفس المشكلة و الحل هو :
كود :
begin with (adotable1) do begin if edit1.Text = '' then filtered := false else begin Filter := 'اسم الحقل like ' + QuotedStr('*' +Edit1.Text + '*'); filtered := true ; end; end; end;
هذا هو حل المشكلة
بارك الله في الجميع

PHP كود :
ADOTable1.Filter := 'tele = ' + Edit1.Text;
ADOTable1.Filtered :=true;

اسم الحقل هو tele
الكود الذي طرحته في الموضوع يقوم با البحث في الحقل من نوع string
اما هذا يبحث في 
integer