PDA

View Full Version : فیلتر کردن بر اساس تاریخ



seaman202008
پنج شنبه 25 مرداد 1386, 17:02 عصر
سلام
برای فیلتر کردن بر اساس تاریخ از کد زیر استفاده کرده ام :
QueryTemp.SQL.Add('select * from table1 where FieldDate=1961/05/05');
اما خطای mismatch type میده.
فیلد FieldDate را هم از نوع date انتخاب کرده ام و بانکم هم paradox است.
ممنون.

Valadi
پنج شنبه 25 مرداد 1386, 17:07 عصر
قبل از ایجاد تاپیک جستجو کن
دوستان در مورد این موضوع مفصلنا بحث کردند

Batman
جمعه 26 مرداد 1386, 19:59 عصر
با سلام
دوست عزیز کد شما اشتباه است
شما با کد زیر میتوانید بر اساس تاریخ دلخوا فیلتر کنید

queytemp.sql.add('select * from table1 where(fielddate=:fileddate)')
queytemp.parambyname('fileddate').value:=edit1.tex t;

موفق باشید

merced
جمعه 26 مرداد 1386, 22:08 عصر
اینم کار می کنه :



QueryTemp.SQL.Add('select * from table1 where FieldDate=#1961/05/05#');

babak869
جمعه 26 مرداد 1386, 23:39 عصر
اگر هم میخواهید مقدارتون رو از یه ادیت بخونید میتونید از واژه Qoutedstr(Edit1,Text) استفاده کنید

SYNDROME
شنبه 27 مرداد 1386, 14:18 عصر
با سلام
اگر هم می خواهید تاریخ را شمسی ذخیره کنید فیلد مورد نظر را Nvarcharتعریف کنید.
در رابطه با تعریف فیلد رشته ای برای تاریخ در سایت بحث شده می توانید جستجو کنید.
موفق باشید

seaman202008
شنبه 27 مرداد 1386, 14:57 عصر
از همه دوستان تشکر می کنم

seaman202008
شنبه 27 مرداد 1386, 17:37 عصر
متاسفانه مشکل مرتفع نشد .من تکه کد مربوطه را قید کردم شاید افاده کند

dd1:=QuotedStr(table1.FieldValues['startdate']);
dd2:=QuotedStr(table1.FieldValues['enddate']);
QueryTemp.SQL.Add('select * from table1 where (n_par = '+form2.DBText1.Field.AsString+' ) and ( startdate between '+dd1+' and ' +dd2+' ) ');


می خواهم کدی بنویسم که اگر تاریخی در محدوده تاریخ قبلی باشد اجازه ثبت به تاریخ جدید را ندهد. چون ذخیره سازی به صورت خودکار است ازدو متغیر dd1,dd2 استفاده کردم .

Batman
شنبه 27 مرداد 1386, 18:17 عصر
با سلام
دوست عزیز seaman202008 شما یه تاپیک دیگه درست کردید و اونجا جواب شما رو نوشتم
البته این کار شما مخالف قوانین سایت بود