ورود

View Full Version : سوال: مشکل جستجو در بانک پارادکس با دستور فیلتر



behrooz585
پنج شنبه 19 مرداد 1391, 18:54 عصر
با سلام خدمت دوستان عزیز
من یک بانک پارادکس دارم میخوام روی فیلد شرح از جدول برنامه جستجوی یک کلمه رو داخل کل جمله از همه رکوردها انجام بدم ولی با دستور زیر باید کل شرح داخل فیلد رو توی ادیت تکس بنویسم و کلمه رو پیدا نمی کنه لطفا اگه ممکنه راهنمایی بفرمائید . ممنون
// mainform.table1.Filter := 'detail='''+edit1.Text+''''; \\

سعید صابری
پنج شنبه 19 مرداد 1391, 19:28 عصر
به جای = از LIKE استفاده کنید

table1.Filter := 'detail LIKE '+QuotedStr('%'+Edit1.Text+'%');

farshid_82
پنج شنبه 19 مرداد 1391, 19:36 عصر
می تونید کد زیر در رویداد FilterRecord جدول وارد کنید توجه کنید بجای عدد 1 در DataSet.Fields شماره فیلدی که می خواید در اون جستجو کنید بزنید.


Accept := Pos(UpperCase(Edit1.Text),
UpperCase(DataSet.Fields[1].AsString)) = 1;
if Accept then exit;

البته بجای کد خودتون هم کد زیر بزنید


Table1.Filtered := false;
Table1.Filter := Edit1.Text <> '';

اگرم خواستید جستجوی شما در بین همه فیلد ها باشه می تونید کد اول در حلقه قرار بدین حالا اینا رو گفتم ولی پیشنهاد می کنم از Query استفاده کنید

behrooz585
جمعه 20 مرداد 1391, 09:19 صبح
ممنون از راهنمائی تون ولی بعد از اجرا پیعام زیر رو می ده فکر کنم چون بانک پارادکس هست این پیام رو میده روی یه برنامه با اکسس جواب میده.
بعد اجرا :
project1.exe raised exception class EDBEngineEror with message'operation not applicable'process stoped

behrooz585
جمعه 20 مرداد 1391, 09:38 صبح
ممنون من کد شما رو که بجای کد قبل میزارم پیغام زیر رو می ده
[Error] Unit4.pas(76): Incompatible types: 'String' and 'Boolean'