ورود

View Full Version : فیلتر کوئری با استفاده از متغیر رشته ای



khoshblagh
یک شنبه 18 اردیبهشت 1390, 07:31 صبح
با سلام خدمت دوستان
من سعی کردم با کد زیر نسبت به فیلتر نمودن یک کوئری اقدام نمایم ولی فیلتر اطلاعاتی برگشت نمیداد.
در این کد اول سعی کردم از فرمول یک اقدام نمایم که نتیجه نداشت . سپس سعی کردم که از فرمول دوم استفاده نمایم که آن هم به نتیجه بود. توضیح اینکه در زمان کد نویسی هر بار یک خط معتبر بوده و همزمان از دو کد استفاده نشده است.ضمنا میدانم که اشکال از بخش دوم هر یک از کدها میباشد.مشکل استفاده از % میباشد.متشکرم



with qyrMoinJoz do begin
Filtered := False;
1 Filter := 'CODAMEL = ' + strAmel + ' AND '+ 'Cod = '+ (strHesabMoinKol+'%') ;
2 Filter := 'CODAMEL = ' + strAmel + ' AND '+ 'Cod = '+ QuotedStr(edt1.Text+'%') ;
Filtered := True;
end;

pezhvakco
یک شنبه 18 اردیبهشت 1390, 18:42 عصر
سلام :
1 - ساختار (نوع) این ستون Cod چی است ؟
2 - این کد رو =>

'Cod = '+ QuotedStr(edt1.Text+'%') ;
با این جایگزین نمایید =>

'Cod LIKE '+ QuotedStr(edt1.Text+'%') ;

khoshblagh
دوشنبه 19 اردیبهشت 1390, 07:13 صبح
سلام :
1 - ساختار (نوع) این ستون Cod چی است ؟
2 - این کد رو =>

'Cod = '+ QuotedStr(edt1.Text+'%') ;
با این جایگزین نمایید =>

'Cod LIKE '+ QuotedStr(edt1.Text+'%') ;

با سلام خدمت دوست عزیز
ساختار این فیلد یک کد رشته ای میباشد. در حقیقت این کد رشته ای به که طول آن 8 کارکتر میباشد به دو بخش 4 تایی تقسیم شده که 4 تا سمت چپ از طریق edt1.Text کنترل میشود و 4 تا سمت راست هر کارکتری دیگری میتواند باشد که با علامت % مشخص شده است.