View Full Version : سوال: مقایسه دو تاریخ
bnnoor
جمعه 16 اردیبهشت 1390, 11:41 صبح
سلام دوستان
من یه دیتابیس درست کردم که توش تاریخ ها رو ثبت میکنم به دلایلی تاریخ ها رو بصورت nvarchar ثبت میکنم توی برنامه یه قسمت جستجو قرار دادم که وقتی تاریخ رو وارد میکنیم در صورتی که تاریخ های ثبت شده از تاریخ وارد شده عقب تر باشه همه رو در گریدویو نشون میده اما مشکل اینجاست که بخاطر انتخاب nvarchar مقایسه ها قاطی میکنه و تاریخ ها درست نشون نمیده از طریق برنامه هم به دلیل / که بین تاریخ ها بود نتونستم به integer تبدیل کنم تا مقایسه ها درست بشه . یه راهنمایی بکنید .
barbodsoft.com
جمعه 16 اردیبهشت 1390, 13:52 عصر
علامت / رو بردار و بعد اونا رو مقایسه کن در ضمن تاریخ روز و ماهی که کمتر از 10 هست رو باید به صورت دو رقمی وارد کنی. مثلا برای تاریخ روز 5 باید 05 رو وارد کنی تا مقایسه درست انجام بشه.
البته من با / هم مقایسه کردم درست در میاد.
bnnoor
جمعه 16 اردیبهشت 1390, 16:10 عصر
علامت / رو بردار و بعد اونا رو مقایسه کن در ضمن تاریخ روز و ماهی که کمتر از 10 هست رو باید به صورت دو رقمی وارد کنی. مثلا برای تاریخ روز 5 باید 05 رو وارد کنی تا مقایسه درست انجام بشه.
البته من با / هم مقایسه کردم درست در میاد.
اگه / بردارم زشت میشه از MaskedText استفاده کردم شما چطور با / درست مقایسه کردی؟ میشه توضیح بدید؟
barbodsoft.com
جمعه 16 اردیبهشت 1390, 19:20 عصر
شما تو کد هاتون / رو بر می داری دلیلی نداره که تاریخ بدون / رو به کاربر نمایش بدی. اگه فرمت تاریخت درست باشه
این کد با /
If "1358/12/11" > "1358/11/20" Then
MsgBox("1358/12/11")
Else
MsgBox("1358/11/20")
End If
اینم بدون /
If "1358/12/11".Replace("/", "") > "1358/11/20".Replace("/", "") Then
MsgBox("1358/12/11".Replace("/", ""))
Else
MsgBox("1358/11/20".Replace("/", ""))
End If
هر دو کد رو آزمایش کن ببین نتیجه بهت چی می ده. می تونی تاریخ های مختلفی رو هم آزمایش کنی.
bnnoor
جمعه 16 اردیبهشت 1390, 20:15 عصر
تا حدودی درست شد البته از این کدها استفاده نکردم مشکل از خاصیت Right To Left بود که فعال کرده بودم و غیر فعالش کردم درست شد. به هرحال ممنون کد دوم چیز جالبی بود نمیدونستم حین مقایسه میشه مقدارها رو Replace کرد .
bnnoor
شنبه 17 اردیبهشت 1390, 09:47 صبح
دوستان یه سوال دیگه هم داشتم اینکه میخوام این تاریخ ها رو با تاریخ میلادی تبدیل شده به شمسی مقایسه کنم طوریکه به محض باز شدن برنامه مقایسه انجام بشه و اونایی که یکسانه نشون بده خب الان چطوری کدشو بنویسم که باز توی / خطا نداشته باشه؟
barbodsoft.com
شنبه 17 اردیبهشت 1390, 10:34 صبح
دوستان یه سوال دیگه هم داشتم اینکه میخوام این تاریخ ها رو با تاریخ میلادی تبدیل شده به شمسی مقایسه کنم طوریکه به محض باز شدن برنامه مقایسه انجام بشه و اونایی که یکسانه نشون بده خب الان چطوری کدشو بنویسم که باز توی / خطا نداشته باشه؟
فرقی نداره کی و کجا می خوای مقایسه کنی(کد مقایسه رو تو فرملود بنویس). فقط اگه می خوای تو دیتابیس ذخیره کنی بهتره بدون / باشه. من که این کار رو می کنم. دوباره که می خوای از دیتابیس بخونی / ها رو بزار.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.