طارق_نادر قام بنشر يناير 30, 2015 قام بنشر يناير 30, 2015 اريد التعديل لطفا على الكود المرفق بحيث لا يقبل الا تاريخ فقط وليس اي نص اخر كالحروف مثلا Private Sub txtbdate_AfterUpdate() Me.txtbdate = Format(Me.txtbdate, DateFormt) End Sub
أفضل إجابة ibn_egypt قام بنشر يناير 30, 2015 أفضل إجابة قام بنشر يناير 30, 2015 اخى الفاضل أ.طارق الكود الذي أرفقته يجعل التاريخ المكتوب بمربع النص بتنسيق DateFormt على اعتبار انك معرف ال DateFormt من البداية بهذا الشكل Const DateFormt As String = "yyyy/MM/dd" أو بأي شكل تريده .. وليس له علاقة بجعل مربع النص لا يقبل الا تاريخ .. واذا اردت جعل مربع النص لا يقبل الا تاريخ فقط فأنا استخدم هذا الكود >> آسف لكتابة رسائل الخطأ بالإنجليزية حيث أنها بالعربية تظهر على شكل رموز غير مفهومة Private Sub txtbdate_AfterUpdate() On Error GoTo 1 Me.txtbdate = Format(Me.txtbdate, "yyyy/MM/dd") With txtbdate If Len(.Text) <> 10 Or _ Mid(.Text, 5, 1) <> "/" Or _ Mid(.Text, 8, 1) <> "/" Then MsgBox "Date Format Should Be yyyy/MM/dd", vbOKOnly + vbInformation, "Wrong Date" Me.txtbdate.Text = "" Me.txtbdate.SetFocus GoTo 1 End If End With If Not IsDate(txtbdate) Or Mid(txtbdate, 6, 2) > 12 Then MsgBox "Please Enter Valid Date", vbOKOnly + vbCritical, "Wrong Date" Me.txtbdate.Text = "" Me.txtbdate.SetFocus GoTo 1 End If 1 End Sub ففى هذا الكود فنحن نجعل تنسيق التاريخ المكتوب من البداية ليصبح yyyy/MM/dd ....ليكون بهذا الشكل على سبيل المثال 2015/01/30 ثم نختبر التاريخ المكتوب في مربع النص اذا كان لا يساوي 10 يبقي خطأ واذا كان الرقم الخامس أو الثامن من اليسار لا يساوي / يبقي مش تاريخ ... تمام وبرضه بنرجع نختبر لو مش تاريخ او لو تاريخ ولكن الارقام بداية من 6 وبطول 2 اللى هي الاشهر اكبر من 12 يبقي تاريخ خطأ حيث ان عدد الاشهر لا تزيد عن 12 جرب ولو فيه اى استفسار اكتبه ونتناقش فيه تحياتي
طارق_نادر قام بنشر يناير 30, 2015 الكاتب قام بنشر يناير 30, 2015 كل الشكر والتقدير تم المطلوب كما اردت واكثر كما تعودت منك اشكر جهودك المباركة
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.