PDA

View Full Version : سوال: پیغام فارسی برای کلید اصلی و ورود اشتباه داده



saman101
دوشنبه 27 شهریور 1391, 01:25 صبح
سلام اگه دوستان لطف کنن و کد فارسی کردن پیغام هایی که هنگام ورود داده تکراری به کلید اصلی و پغامی که هنگام ورود اشتباه در فیلد هم از این نظر که مثلا عددی هست و تکست مینویسن و هم از نظر این که اگه با ماسک که بهش دادیم مغایر بود. مرسی

ARData
دوشنبه 27 شهریور 1391, 09:09 صبح
پيغام ها فارسي نمي شوند بلکه معادل سازي ميشه کرد اين هم نمونه :

G.hemati
دوشنبه 27 شهریور 1391, 14:18 عصر
با تشکر از نمونه کارآمدتون
یه سئوال در مورد این نحوه کنترل Error :
آیا با استفاده از کد زیر تمامی Error ها کنترل و ترجمه میشه . منظور م اینه که برای هر Error باید تعریف جداگانه داشت یا کد زیر به شکل یه ماژول تمامی Errorهای رخ داده شده را با جدول مربوطه منطبق و ترجمه میکنه


Private Sub Form_Error(DataErr As Integer, Response As Integer)
Dim StrErrFa As String
Dim StrErrEn As String
StrErrFa = Nz(DLookup("[ErrFA]", "TBLErrors", "[ErrCode]=" & DataErr))
StrErrEn = Nz(DLookup("[ErrEN]", "TBLErrors", "[ErrCode]=" & DataErr))
Response = DataErr
MsgBox "ÝÇÑÓí : " & StrErrFa & vbCrLf & vbCrLf & "English : " & StrErrEn, vbApplicationModal, "ÎØÇí ÔãÇÑå : " & DataErr
End Sub

ممنون

saman101
دوشنبه 27 شهریور 1391, 17:30 عصر
سلام با تشکر از این پاسخ کامل

آیا این ERROr ها شامل شامل پیغام های هشداری مثل پیغامی که هنگام حذف یک رکورد هم میشه اگر نه آیا برای آن هم چنین راه حلی هست

ARData
سه شنبه 28 شهریور 1391, 08:08 صبح
در زمان رخداد خطا اولين چيزي که بدست مياريم شماره خطاست (DataErr) با توجه به اين شماره ، Dlookup رجوع داده ميشه به جدولي که خطاها در آن ذخيره شده اند اين يه روشه و روش بعدي ترجمه خود خطاست که باروش هايي مثل ترجمه متن خطا با استفاده از گوگل ترانسفر مي باشد که من اينکارو کردم ولي سرعت اينترنت بايد اونقدر بالا باشد که اينکار در عرض کمتر از يک ثانيه انجام پذيرد .... هنگام حذف رکورد هم نمي توان از اين پروسه استفاده کرد چون پيغام حذف خطا نيست و در رويداد on error تعريف نشده است که فقط در رويداد before del confirm تعريف شده است ...
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
Response = acDataErrContinue
If MsgBox("ÂíÇ ãÇíá Èå ÍÐÝ ÑÏíÝ ÌÇÑí ãí ÈÇÔíÏ ¿", vbOKCancel, "ÚãáíÇÊ ÍÐÝ Ñ˜æÑÏ") = vbCancel Then

Cancel = True
End If
End Sub

hasanhzd
چهارشنبه 29 شهریور 1391, 22:12 عصر
[QUOTE=ARData;1596121]در زمان رخداد خطا اولين چيزي که بدست مياريم شماره خطاست (DataErr) با توجه به اين شماره ، Dlookup رجوع داده ميشه به جدولي که خطاها در آن ذخيره شده اند اين يه روشه و روش بعدي ترجمه خود خطاست که باروش هايي مثل ترجمه متن خطا با استفاده از گوگل ترانسفر مي باشد که من اينکارو کردم ولي سرعت اينترنت بايد اونقدر بالا باشد که اينکار در عرض کمتر از يک ثانيه انجام پذيرد .... هنگام حذف رکورد هم نمي توان از اين پروسه استفاده کرد چون پيغام حذف خطا نيست و در رويداد on error تعريف نشده است که فقط در رويداد before del confirm تعريف شده است ...
[VB]Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
Response = acDataErrContinue
If MsgBox("ÂíÇ ãÇíá Èå ÍÐÝ ÑÏíÝ ÌÇÑí ãí ÈÇÔíÏ ¿", vbOKCancel, "ÚãáíÇÊ ÍÐÝ Ñ˜æÑÏ") = vbCancel Then

درود
لینک زیر جدول تمام خطاهای اکسس با کد مربوطه هست و یک فرم نمونه برای گرفتن پیام فارسی بجای اونا

http://s3.picofile.com/file/7505175806/err.zip.html

hojtaha
سه شنبه 21 مرداد 1393, 20:14 عصر
عالیه. به دردم خورد بسیار متشکرم