PDA

View Full Version : جستجو بین دو تاریخ



parisa_vb
سه شنبه 27 فروردین 1387, 23:32 عصر
سلام...من کدی می خواستم که بتونه کلیه رکورد ها را بین 2 تاریخ با توجه به فیلد date جستجو کند..یه سری تاپیک تو این سایت رو دیدم..ولی چیزی نفهمیدم:گریه::گریه:

UpgradeVB6Code
سه شنبه 27 فروردین 1387, 23:57 عصر
سلام...من کدی می خواستم که بتونه کلیه رکورد ها را بین 2 تاریخ با توجه به فیلد date جستجو کند..یه سری تاپیک تو این سایت رو دیدم..ولی چیزی نفهمیدم:گریه::گریه:
دستور sql این میشه


"Select * from Table1 where Date between " & Date1 & " and " & Date2

Mbt925
چهارشنبه 28 فروردین 1387, 12:19 عصر
یا



"Select * from Table1 where Date>" & Date1 & " and <" & Date2

ƒxmahdi
چهارشنبه 28 فروردین 1387, 13:45 عصر
یک راه دیگه هم هست
با استفاده از تابع Datediff می تونی اختلاف بین دو تاریخ را بدست بیاری اگه این روش بکارتون میاد بگو تا براتون توضیح بدم

Mbt925
چهارشنبه 28 فروردین 1387, 13:56 عصر
یک راه دیگه هم هست
با استفاده از تابع Datediff می تونی اختلاف بین دو تاریخ را بدست بیاری اگه این روش بکارتون میاد بگو تا براتون توضیح بدم

موضوع جستجو در محدوده ی دو تاریخ اه.
استفاده از این روش در این مورد کارا نیست.

parisa_vb
چهارشنبه 28 فروردین 1387, 14:39 عصر
یا



"Select * from Table1 where Date>" & Date1 & " and <" & Date2

سلام ..از راهنماییتون ممنونم...ولی می خواستم بپرسم date1 یا date2 باید چه متغییری باشه...این اشکال رو می گیره

Syntax error in query expression 'date between 1385/01/01 and 1386/01/01'

dat1 = MEB1.Text
dat2 = MEB2.Text
x = "Select * from simcard where Date between " & dat1 & " and " & dat2
Adodc1.RecordSource = x
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1



هر دو تا کد رو خطا می گیره..البته بی شک به خاطر کم دانشیه منه..لطف کنید بازم کمک کنید

Mbt925
چهارشنبه 28 فروردین 1387, 15:07 عصر
اگه جستجو می کردین خیلی زودتر به نتیجه می رسیدید.

نمونه رو ببینید:

UpgradeVB6Code
چهارشنبه 28 فروردین 1387, 19:08 عصر
ممنون سورس خیلی خوبی بود
فقط این دستور SQL خیلی جالب بود که من ازش سر در نیاوردم
میشه یه توضیح راجع بهش بدید (البته کامنت فارسی داشت منتها بازم نفهمیدم چی شد)


SQLS = "SELECT SUM(Hazine) AS ALLH FROM Table1 WHERE Name='" & txtName.Text & "' AND Date1>'" & txtDate1.Text & "' AND Date1<'" & txtDate2.Text & "'"


اون قسمتی رو که قرمز کردم برای چی استفاده میشند اسم فیلدند یا چیز دیگه ؟
ممنون


در ضمن خانم Parisa_vb توی این دستور


"Select * from Table1 where Date between " & Date1 & " and " & Date2

فیلدهای شما باید از نوع عددی باشند و با تاریخ ها مثل عدد کار کنید.

vbhamed
چهارشنبه 28 فروردین 1387, 23:33 عصر
یا



"Select * from Table1 where Date>" & Date1 & " and <" & Date2



سلام
شرمنده جناب مدیر ولی فکر کنم یک date رو جا انداختین
مساوی رو هم من اضافه کردم تا خود تاریخها هم چک بشه



"Select * from Table1 where Date >= " & Date1 & " and Date <= " & Date2

Mbt925
پنج شنبه 29 فروردین 1387, 09:46 صبح
SQLS = "SELECT SUM(Hazine) AS ALLH FROM Table1 WHERE Name='" & txtName.Text & "' AND Date1>'" & txtDate1.Text & "' AND Date1<'" & txtDate2.Text & "'"

اون قسمتی رو که قرمز کردم برای چی استفاده میشند اسم فیلدند یا چیز دیگه ؟



چون (Hazine(SUM در نهایت یه فیلد به ما بر می گرودنه ، می تونیم یه اسم براش انتخاب کنیم تا بتونیم بعدا با نام این فیلد ازش استفاده کنیم ، مثلا :



Text1.text= Recordset.Field(ALLH)