PDA

View Full Version : تاریخ شمسی



sh_sahragard
سه شنبه 21 اسفند 1386, 15:57 عصر
سلام
یه برنامه تو اکسس می خواستم که فقط بتونه تاریخ رو به صورت شمسی وارد کنه در غیر این صورت error بده مرسی :متفکر:

bad_boy_2007
سه شنبه 21 اسفند 1386, 18:37 عصر
سلام
یه برنامه تو اکسس می خواستم که فقط بتونه تاریخ رو به صورت شمسی وارد کنه در غیر این صورت error بده مرسی :متفکر:
فیلد تاریخ رو از نوع میلادی انتخاب کن این کار چند تامزیت داره یکیش اینه که مانع از ورود تاریخ نا معتبر میشه و دیگری اینکه میتونی از تمامی توابعی که برای کار کردن روی تاریخ تعبیه شده ، استفاده کنی .
ولی این کار یکم حدت میخواد باید موقع بازیابی اطلاعات تاریخ رو به شمسی و موقع درج اطلاعات تاریخ رو به میلادی تبدیل کنی .

saeed razaee
چهارشنبه 22 اسفند 1386, 17:13 عصر
لطفا جستجو کنید نمونه هست

shaghaghi
چهارشنبه 04 اردیبهشت 1387, 10:21 صبح
سلام
یه برنامه تو اکسس می خواستم که فقط بتونه تاریخ رو به صورت شمسی وارد کنه در غیر این صورت error بده مرسی :متفکر:


یک روش ساده و ابتدایی این است که، در رویداد BeforeUpdate تمام فیلد های تاریختان این کد را وارد نمایید:
(با این فرض که فیلد تاریخ شما از جنس Text و 6 کاراکتری باشد و کاراکتر جدا کننده '/' را در فیلد ذخیره نکنید و با تاریخهای از سال 1310 به بعد سروکار داشته باشید)

Private Sub txtDate_BeforeUpdate(Cancel As Integer)
Cancel = fn_CheckValidDate(Nz(txtDate, ""))
End Sub

این تابع را هم در یکی از ماژولها وارد نمایید تا بتوانید در تمام فرم ها آنرا فراخوانی نمایید


Function fn_CheckValidDate(Optional StrDate As String) As Integer
If Nz(StrDate) = vbNullString Then Exit Function
Dim yy As Byte, MM As Byte, dd As Byte
yy = Mid(StrDate, 1, 2)
MM = Mid(StrDate, 3, 2)
dd = Mid(StrDate, 5, 2)
If yy < 10 Then
fn_CheckValidDate = -1
MsgBox "عدد سال نامعتبر می باشد", vbInformation
ElseIf MM < 1 Or MM > 12 Then
fn_CheckValidDate = -1
MsgBox "عدد ماه نامعتبر می باشد", vbInformation
ElseIf MM > 6 And dd > 30 Then
fn_CheckValidDate = -1
MsgBox "عدد روز نا معتبر می باشد", vbInformation
ElseIf MM <= 6 And dd > 31 Or dd = 0 Then
fn_CheckValidDate = -1
MsgBox "عدد روز نا معتبر می باشد", vbInformation
Else:
fn_CheckValidDate = 0
End If
End Function