mohsenrahx
شنبه 31 شهریور 1386, 13:39 عصر
سلام
من برنامه ای دارم که در اون یک بانک دارم که مثلا 5 تا فیلد داره
روی فرمم 5 تا ادیت می زارم و یک باتون هم روی فرم قرار می دهم.
روی باتون دو بار کلیک می کنم و داخل اون دستور فیلتر رو وارد می کنم.
table1.Filtered:=false;
table1.Filter:='fieldname = ' + QuotedStr(edit1.text);
table1.Filtered:=true;
حالا با توجه به کد بالا من می خواهم که مثلا اگر ادیت1 من خالی نبود کد با لا رو اجرا کنه.
حالا ممکنه بگید خوب اولش یه دستور if می زاریم درست می شه.
اما نه فرض کنید من می خواهم که بر اسال دو فیلد با داده های که از دو ادیت وارد می شود با نک رو فیلتر کنم.
مثلا دوفیلد a و b رو با دو ادیت به نامهای ادیت 1 و ادیت 2 رو می خواهم فیلتر کنم بس در باتون باید بنویسم.
table1.Filtered:=false;
table1.Filter:='a = ' + QuotedStr(edit1.text)+'and'+ 'b = ' + QuotedStr(edit2.text);
table1.Filtered:=true;
اما من می خواهم که اگر یکی از ادیت ها خالی بود با اون ادیت کار نداشته با شه و بر اساس اون ادیتی مه خالی نبود کار انجام بده مثلا ادیت 1 خالی ولی در ادیت 2 می نویسیم 123 که با ید با فیلد a کار نداشته باشه و بر اساس ادیت 2 فیلد b رو فیلتر کنه .
در این کلر چها حالت ممکنه رخ بده مثلا یک با ادیت 1 خالی و ادیت 2 پر. یک بار ادیت دو خالی و ادیت 1 پر. یک بار هر دو خالی که اصلا نباید فیلتر کنه و یک بار هم ممکنه هر دو پر باشه.
حالا این برای دو فیلد از بانکه تصور کنید بانک من 25 فیلد داره اون وقط این تعداد حالات ممکنه به 11645 حالت می رسه.
من می خواهیم که با یک خط همه این کار ها رو انجام بدم می دونم می شه ولی کدشو ندارد هر کسی دارده لطفا برای استفاده همه بزاره.
ممنون از وقتی که صرف خوندن این مطالب کردید.
من برنامه ای دارم که در اون یک بانک دارم که مثلا 5 تا فیلد داره
روی فرمم 5 تا ادیت می زارم و یک باتون هم روی فرم قرار می دهم.
روی باتون دو بار کلیک می کنم و داخل اون دستور فیلتر رو وارد می کنم.
table1.Filtered:=false;
table1.Filter:='fieldname = ' + QuotedStr(edit1.text);
table1.Filtered:=true;
حالا با توجه به کد بالا من می خواهم که مثلا اگر ادیت1 من خالی نبود کد با لا رو اجرا کنه.
حالا ممکنه بگید خوب اولش یه دستور if می زاریم درست می شه.
اما نه فرض کنید من می خواهم که بر اسال دو فیلد با داده های که از دو ادیت وارد می شود با نک رو فیلتر کنم.
مثلا دوفیلد a و b رو با دو ادیت به نامهای ادیت 1 و ادیت 2 رو می خواهم فیلتر کنم بس در باتون باید بنویسم.
table1.Filtered:=false;
table1.Filter:='a = ' + QuotedStr(edit1.text)+'and'+ 'b = ' + QuotedStr(edit2.text);
table1.Filtered:=true;
اما من می خواهم که اگر یکی از ادیت ها خالی بود با اون ادیت کار نداشته با شه و بر اساس اون ادیتی مه خالی نبود کار انجام بده مثلا ادیت 1 خالی ولی در ادیت 2 می نویسیم 123 که با ید با فیلد a کار نداشته باشه و بر اساس ادیت 2 فیلد b رو فیلتر کنه .
در این کلر چها حالت ممکنه رخ بده مثلا یک با ادیت 1 خالی و ادیت 2 پر. یک بار ادیت دو خالی و ادیت 1 پر. یک بار هر دو خالی که اصلا نباید فیلتر کنه و یک بار هم ممکنه هر دو پر باشه.
حالا این برای دو فیلد از بانکه تصور کنید بانک من 25 فیلد داره اون وقط این تعداد حالات ممکنه به 11645 حالت می رسه.
من می خواهیم که با یک خط همه این کار ها رو انجام بدم می دونم می شه ولی کدشو ندارد هر کسی دارده لطفا برای استفاده همه بزاره.
ممنون از وقتی که صرف خوندن این مطالب کردید.