ورود

View Full Version : موضوع مهم:چگونه رکوردهای بین دوتاریخ رااستخراج کنیم



reza_moridi
جمعه 04 اردیبهشت 1383, 14:49 عصر
باسلام
می خواستم بدونم که چگونه بوسیله دستورfilter می توان رکوردهای بین دوتاریخ رااستخراج کرد
باتشکر

ali643
جمعه 04 اردیبهشت 1383, 14:58 عصر
فیلد تاریخ رو از چه نوعی انتخاب کردی :?:

reza_moridi
جمعه 04 اردیبهشت 1383, 15:24 عصر
ازنوع date انتخاب کردم

ahmad sajjad
جمعه 04 اردیبهشت 1383, 18:17 عصر
با سلام
اگر در برنامت از تاریخ شمسی استفاده میکنی و بانکت هم موردی غیر از DBISAMهست باید فیلد تاریخ رو از نوع stringتعریف کنی تا مشکلی برات پیش نیاد.
بهرحال اگر فیلدت رو از نوع date تعریف کردی باید ازین دستور استفاده کنی

Table1.Filter := 'Tarikh > 82/1/1 and Tarikh < 81/1/1';و اگر فیلد رو از نوع string تعریف کردی از:

Table1.Filter := 'Tarikh > '82/1/1' and Tarikh < '81/1/1'';

Hidarneh
شنبه 05 اردیبهشت 1383, 00:56 صبح
اولا:

Table1.filter := 'Tarikh > ''82/1/1'' and Tarikh < ''83/1/1''';برای حالت رشته ای و دوما:

Table1.filtered := True;

hr110
شنبه 05 اردیبهشت 1383, 07:02 صبح
جناب مریدی لطف کنید از کلماتی مانندموضوع مهم، کمک فوری و ... در عناوین تاپیکتان استفاده نکنید که بر خلاف مقررات است :مخالف:

Panje Tala
شنبه 05 اردیبهشت 1383, 10:31 صبح
با سلام
خدمت شما عرض کنم بهترین راه برای فیلتر کردن یک بانک استفاده از Event مربوط به فیلتر یعنی ONfilterrecord هست. اینطوری می تونی فیلتر رو بصورت پارامتری هم بنویسی.
برای این کار خاصیت filtered جدول را True کن سپس در Onfilter record شرطهایی را که می خواهی به واسطه آن فیلتر صورت گیرد بیان کنی و هر زمان که شرطها برقرار بود Accept:=true در غیر اینصورت False برای هر رکوردی که Accept=true شود آن رکورد نمایش داده می شود.بعنوان مثال:

if ( table1.fieldbyname('tarikh').asdatetime>edit1.text)and(table1.fieldbyname('tarikh').asdate time>edit2.text) then accept:=true else accept:=false;

این کد بسته به edit1,edit2 که چه تاریخی هستند جدول را فیلتر می کند.

amirrf
شنبه 05 اردیبهشت 1383, 14:48 عصر
باسلام
می خواستم بدونم که چگونه بوسیله دستورfilter می توان رکوردهای بین دوتاریخ رااستخراج کرد
باتشکر
سلام،
اگر محدوده تاریخ را نیز با نوع TDate در دست دارید می توانید با DateToStr آن را به رشته (میلادی) تبدیل کنید و در عبارت فیلتر به کار برید.

سار
شنبه 05 اردیبهشت 1383, 23:37 عصر
چرا از SQL استفاده نمیکنی؟

reza_moridi
یک شنبه 06 اردیبهشت 1383, 19:16 عصر
ازهمه دوستان متشکرم
مشکلم حل شد