PDA

نسخه کامل مشاهده نسخه کامل : جستجوی فیلدهای پر شده



P A R M I S
05-11-2008, 19:18
با سلام یک جستجو می خوام انجام بدم با 5 فیلد که اگه یک edit مربوط به یک فیلد پر بود اون فیلد در جستجو شرکت کنه اگه وجود نداره در جستجو شرکت نکنه (مثلا فیلد نام و نام خانوادگی و تاریخ و تلفن و اگه فقط مثلا edit مربوط به نام پر بود(مثلاx) فقط افرادی را نمایش دهد که نام آنها x است اگه فقط فامیل پرشد(مثلا y ) افرادی که فامیلشان y است اگه هردو فیلد پر شد افرادی که نامشان x و فامیلشان y است ..... اگه تاریخ و نام وارد شد ..... به همین ترتیب جستجو براساس فیلدهای پر شده باشد روش ساده تر برای این نوع جستجو چیه ؟ چون اگه بخوایم به همین روش بریم تعداد if ها خیلی زیاد می شه

golabi2000
06-11-2008, 07:19
شمابرای این منظور می تونید یک procedure بنویسید و پارامترها را یک به یک به آن بفرستید. در صورتیکه خالی نبود در شرط شما قرار داده شود. در صورتیکه نیاز به توضیح بیشتری داشتید اعلم نمائید.

P A R M I S
07-11-2008, 19:24
می شه توضیح کاملتری بدید ممنون می شم

golabi2000
08-11-2008, 08:03
برای این منظور نیاز به یک پروسیجر دارید که در صورتیکه فیلد شما پر باشد به sql و شرط شما اضافه نمایید

procedure TFrm_Report.AddWhere(st:TStrings;Fieldname,op,Sear chValue:string);
var
s1,s2:string;
begin
if not((SearchValue = '') or (SearchValue = '13 / / '))then
begin
s1:=' and ( ' + Fieldname +' '+op+' '''+SearchValue+''' )';
s2:='';
st.Append(s1);
end;
end;