PDA

View Full Version : بازگردانی اطلاعات بین 2 تاریخ



arsalansalar
سه شنبه 03 شهریور 1388, 12:57 عصر
با سلام
در سایت برای جستجو بین دو تاریخ مثالهای زیادی است و خود دات نت هم تابع های زیادی برای انجام این کار داره از جمله datediff و ...
اما مشکلی که من برای جستجو بین دو تاریخ دارم یک کم فرق می کنه.
ساختار بانک اطلاعاتی من به این صورت است که فیلد روز در da،فیلد ماه در ma،فیلد سال در sa ذخیره می شود.
و کوئری که برای جستجوی بین 2 تاریخ به کار می برم این است:


val(da) >= " + c2.Text + " and val(da) <= " + ComboBox1.Text + " and val(ma) >= " + textbox2.Text + " and val(ma) <= " + ComboBox3.Text + " and val(sa) >= " + C4.Text + " and val(sa) <= " + ComboBox2.Text + "

اما این کوئری اطلاعات بین 2 تا تاریخ باز نمی گردنوه.
به نظر شما دوستان مشکلم در کجاست؟

happy65_sh
سه شنبه 03 شهریور 1388, 13:13 عصر
سلام
دوست عزیز
مشکل در مقایسه کردن جداگانه هست بهترین کاراین هست که تاریخ را به صورت یکجا(روز/ماه/سال) مقایسه کنی.(البته این نظر من هست)

..... where sa+ma+da between date1 and date2

arsalansalar
سه شنبه 03 شهریور 1388, 13:28 عصر
با تشکر از راهنمایی شما.
مشکل بنده اینکه فعلا مجبورم از این سیستم استفاده کنم.اگه دوستان با همین روش مطلبی ارائه بدهند ممنون می شوم.
در ضمن بانک من access است.

arsalansalar
چهارشنبه 04 شهریور 1388, 08:01 صبح
سلام
دوست عزیز
مشکل در مقایسه کردن جداگانه هست بهترین کاراین هست که تاریخ را به صورت یکجا(روز/ماه/سال) مقایسه کنی.(البته این نظر من هست)

..... where sa+ma+da between date1 and date2
میشه یک مثال از این موضوع بزنید؟

mn_zandy63
جمعه 06 شهریور 1388, 05:49 صبح
نوع داده فیلد های da, ma, sa از چه نوعی است؟
به نظر میاد رشته ای باشن، با این فرض به این شکل میتونی کدت رو اصلاح کنی:

"da + ma + sa BETWEEN '" + c2.Text + textbox2.Text + C4.Text + "' AND '" + ComboBox1.Text + ComboBox3.Text + ComboBox2.Text "'"


راستی یک نکته، نام گذاری متغیر هات خیلی بده. :چشمک:

arsalansalar
یک شنبه 08 شهریور 1388, 12:34 عصر
دوست عزیز کدتو استفاده کردم ولی همش خطای زیر را می دهد.هر کاری هم می کنم. درست نمیشه.
کد و ب صورت زیر به کار بردم:


Dim da As New OleDbDataAdapter("select family from noskh1 where da + ma + sa BETWEEN '" + c2.Text + textbox2.Text + C4.Text + "' AND '" + ComboBox1.Text + ComboBox3.Text + ComboBox2.Text "'", con)

خطاشم عکسه زیره:

alimanam
یک شنبه 08 شهریور 1388, 16:47 عصر
با سلام

دوست عزیز چرا می خوای لقمه ی آماده رو هی بچرخونی !! :متفکر:

تاریخ رو به صورت 1388/05/15 در Database خودت ذخیره کن ( از نوع رشته ایی معمولی ) حالا خیلی راحت تاریخی رو که مد نظرته رو فیلتر کن اینم سورس نمونه .

یا علی

mn_zandy63
دوشنبه 09 شهریور 1388, 00:54 صبح
دوست عزیز کدتو استفاده کردم ولی همش خطای زیر را می دهد.هر کاری هم می کنم. درست نمیشه.
کد و ب صورت زیر به کار بردم:


Dim da As New OleDbDataAdapter("select family from noskh1 where da + ma + sa BETWEEN '" + c2.Text + textbox2.Text + C4.Text + "' AND '" + ComboBox1.Text + ComboBox3.Text + ComboBox2.Text "'", con)

خطاشم عکسه زیره:

یه دونه + قبل از "'" آخر بذار.


"da + ma + sa BETWEEN '" + c2.Text + textbox2.Text + C4.Text + "' AND '" + ComboBox1.Text + ComboBox3.Text + ComboBox2.Text + "'"