PDA

View Full Version : مقاله: تو قسمت slq اکسس چجوری میشه بر اساس تاریخ گفت چه روزی از هفته است



aleshmaz.savan
سه شنبه 21 خرداد 1392, 08:49 صبح
سلام بر دوستان
میخاستم ببینم تو قسمت sql اکسس چجوری میشه بر اساس تاریخ گفت چه روزی از هفته است، کدی داره نمیدونم تکنیکی داره هر روشی داره ممنون میشم راهنمایی کنین.

مثلا 07/06/2013 که میشه Friday یا اگه نشد لا اقل بگه چندمین روز هفته اس

با تشکر

mazoolagh
سه شنبه 21 خرداد 1392, 11:11 صبح
از تابع datepart استفاده کنین: مثلا کد زیر مشخص میکنه امروز چندمین روز هفته است.
datepart("w",now)
بصورت پیشفرض اولین روز هفته یکشنبه است و مقدار 1 براش برمیگرده. اگر بخواین براساس شنبه بعنوان اولین روز هفته کار کنین:
datepart("w",now,vbsaturday)

حالا اگر اسم روز هفته رو میخواین تابع weekdayname رو استفاده کنین:
weekdayname(datepart("w",now,vbsaturday))

اینکه تابع اسامی روزهای هفته فارسی یا انگلیسی برگردونه به تنظیمات regional settings برمیگرده

aleshmaz.savan
سه شنبه 21 خرداد 1392, 11:44 صبح
من میخام تو query که درست میکنم خروجی که بم میده از فیلد های جدول باشه این تو قسمت ویژوال بیسیک اکسس که این کدهارو میزارم خطا میده


Sub dt()
WeekdayName (DatePart(Table1.a, Now, vbSaturday))
End Sub
table1.a ادرس فیلد مورد نظر تو جدول table1 که میخام خروجی مورد نظرو بم بده
ایا کد sql ای که تو قسمت sql اکسس هست وجود داره که ادرس فیلد بزاریم توش که نخاد از ماکرو استفاده کنیم

saeed1234n
سه شنبه 21 خرداد 1392, 22:01 عصر
سلام
دوست عزیز
همانطور که دوست خوبمان توضیح دادند لزوما در تابع زیر

DatePart ( interval, date, [firstdayofweek], [firstweekofyear])
آروگومان اول (interval) باد یکی از ثابتهای جدول زیر باشد.
105413
بنابراین قرار گرفتن مقدار یک فیلد در آرگومان اول خطا میباشد .
کاری که شما می توانید انجام دهید قراردادن فیلدی از نوع date در آرگومان دوم است .

Sub dt()
WeekdayName (DatePart(w, Table1.a, vbSaturday))
End Sub

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

wolfstander
شنبه 25 خرداد 1392, 07:40 صبح
با سلام
در ماژولهای فارسی تالار، قسمتی که بگوید تاریخ جاری چندمین هفته از سال است را بنده پیدا نکردم. اینجا دیدم که ww یعنی هفته به نظرم همان است.
آیا در ماژولهای فارسی تالار این بخش وجود دارد؟

Abbas Amiri
یک شنبه 26 خرداد 1392, 00:57 صبح
با سلام
در ماژولهای فارسی تالار، قسمتی که بگوید تاریخ جاری چندمین هفته از سال است را بنده پیدا نکردم. اینجا دیدم که ww یعنی هفته به نظرم همان است.
آیا در ماژولهای فارسی تالار این بخش وجود دارد؟

عبارت DayWeekNo رو جستجو کنید اگر عبارت رو درست نوشته باشم شماره روز هفته رو برمیگرداند و در همان جا تابع مربوط به نام روز هم هست .

wolfstander
یک شنبه 26 خرداد 1392, 18:14 عصر
با تشکر از شما آقای امیری
این تابع، روز هفته رو برمیگردونه
مثلا ً میگه امروز یک شنبه است
من میخوام بگم که امروز که 25/3/92 هستش، هفته چندم سال هستیم
با تشکر مجدد

Abbas Amiri
یک شنبه 26 خرداد 1392, 23:11 عصر
با تشکر از شما آقای امیری
این تابع، روز هفته رو برمیگردونه
مثلا ً میگه امروز یک شنبه است
من میخوام بگم که امروز که 25/3/92 هستش، هفته چندم سال هستیم
با تشکر مجدد

تابع زیر رو به توابع آقای آزادی اضافه کنید و از آن استفاده کنید:



Function WeekNum(fDate) As Integer
Dim d As Integer, fd As Long
fd = Replace(fDate, "/", "")
d = Diff(Sal(fd) & "0101", fDate)
WeekNum = d \ 7
End Function



این تابع هم تاریخ نوع String و هم نوع Long رو قبول میکنه .

wolfstander
سه شنبه 28 خرداد 1392, 14:49 عصر
با سلام
این تابع رو که میزنم، overflow میده نامرد
امکانش هست که در یک فرم به صورت نمونه قرار داده بشه؟
با تشکر بسیار فراوان

Abbas Amiri
سه شنبه 28 خرداد 1392, 20:49 عصر
با سلام
این تابع رو که میزنم، overflow میده نامرد
امکانش هست که در یک فرم به صورت نمونه قرار داده بشه؟
با تشکر بسیار فراوان

این هم نمونه شما :