PDA

View Full Version : مبتدی: پیغام خطا هنگام اشتباه وارد کردن مقدار یک textbox



programming is life
شنبه 30 دی 1391, 15:11 عصر
من تو فرم یک text box دارم که با استفاده از input mask نحوه وارد کردن مقادیر صحیح رو مشخص کردم.
سئوال من اینجاست که چطوری میتونم در صورت اشتباه وارد کردن مقدار text box توسط کاربر در یک کادر پیام فارسی علت رو توضیح بدم؟

saeed1234n
شنبه 30 دی 1391, 19:44 عصر
با سلام
دوست عزیز اگر در input mask نحوه وارد کردن مقادیر را مشخص کرده باشید
هنگام تایپ کردن در تکست باکس برنامه اجازه ورود مقادیری به غیر از آنچه شما در input mask تعریف کرده اید نمی دهد.

Abbas Amiri
شنبه 30 دی 1391, 20:22 عصر
من تو فرم یک text box دارم که با استفاده از input mask نحوه وارد کردن مقادیر صحیح رو مشخص کردم.
سئوال من اینجاست که چطوری میتونم در صورت اشتباه وارد کردن مقدار text box توسط کاربر در یک کادر پیام فارسی علت رو توضیح بدم؟

سلام
در رویداد Form_Error میشه این خطا رو به دام انداخت :


Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 2279 Then
If Screen.ActiveControl.Name = "MyTextboxName" Then
MsgBox "Type here your message"
End If
Response = acDataErrContinue
End If
End Sub



نام کنترلی که میخواهید این خطا رو کنترل کنید دراینجا MyTextboxName هست . چنانچه کنترلهای دیگه ای هم وجودداشته باشه ، با ساختار If, ElseIf میشه به تفکیک مدیریت کرد

programming is life
شنبه 30 دی 1391, 21:11 عصر
سلام
در رویداد Form_Error میشه این خطا رو به دام انداخت :


Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 2279 Then
If Screen.ActiveControl.Name = "MyTextboxName" Then
MsgBox "Type here your message"
End If
Response = acDataErrContinue
End If
End Sub



نام کنترلی که میخواهید این خطا رو کنترل کنید دراینجا MyTextboxName هست . چنانچه کنترلهای دیگه ای هم وجودداشته باشه ، با ساختار If, ElseIf میشه به تفکیک مدیریت کرد




با تشکر از پاسخ شما
چند سئوال :
1- چطوری میتونم تیتر کادر پیام رو تنظیم کنم؟
2- اگر بخوام یه شرط بررسی بشه و در صورت صحیح نبودن پیام متناسب با اون نمایش داده بشه چی باید کنم؟ فرضاً textbox با ماسکی که مشخص می کنه داده ورودی باید 5 عدد باشه ساخته شده. حالا می خوام اگر کاربر 4 عدد وارد کرد پیام بده که یک عدد کم وارد شده و اگه 3 تا عدد وارد کرد پیام بده 2 تا عدد کم وارد شده.
ممنون

Abbas Amiri
شنبه 30 دی 1391, 21:19 عصر
کد زیر راجایگزین قبلی کنید


Private Sub Form_Error(DataErr As Integer, Response As Integer)
If DataErr = 2279 Then
If Screen.ActiveControl.Name = "MyTeextboxName" Then
MsgBox "تعداد کاراکترهاي تايپ شده بايستي " & Len(Me.MyTeextboxName.InputMask) & " کاراکتر باشد " & vbCr & _
"شما " & Len(Me.MyTeextboxName) & " کاراکتر تايپ کرده ايد"
End If
Response = acDataErrContinue
End If
End Sub