PDA

View Full Version : فارسی کردن پنجره پیغام و حذف پیغام انگلیسی



شاپرک
سه شنبه 20 بهمن 1383, 17:16 عصر
من با on error امتحان کردم پیغام، فارسی میشه اما بعدش دوباره پیغام انگلیسی ظاهر میشه !!!!!!!؟

چیکار باید بکنم؟

سنبله کار
چهارشنبه 21 بهمن 1383, 11:02 صبح
من کد زیر را برای موارد تکراری استفاده کردم و این اشکال را ندیدم .

لطفا بیشتر توضیح دهید
If DataErr = 3022 Then
MsgBox "اطلاعات وارده تکراری است";
Response = acDataErrContinue
End If

payam59
چهارشنبه 21 بهمن 1383, 13:32 عصر
سلام
همانطور که دوست عزیزم سنبله کار گفته باید از کد بالا استفاده کنی. برای توضیح بیشتر به آدرسهای زیر مراجعه کن.
http://www.barnamenevis.org/forum/viewtopic.php?t=17996
http://try.persianblog.com
:)

شاپرک
سه شنبه 01 شهریور 1384, 15:37 عصر
http://try.persianblog.com

2- اگر خطا مربوط به کدهایی باشد که خودمان در یک Sub نوشته ایم :
در این روش باید در ابتدای Sub با دستور : <اسم زیر روال کنترل خطا> On Error Goto ، کنترل خطا را به یک روال کنترل خطا ارجاع دهیم.
( تمام کدهایی که ویزارد Command Button بطور خودکار در رویداد OnClick دکمه ها ایجاد می کند نمونه خوبی برای این روش هستند. ضمنا در این روش بکمک Err.Number کد خطا شناسایی می شود )



من اینکار رو کردم :(البته در قسمت گزارش )
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)


On Error GoTo ERR

ERR:

Dim Str As String

Select Case ERR.Number
Case 94
Str = "هیچ فایلی انتخاب نشده !"
Case 9
Str = "فرمت فایل اتخاب شده قابل قبول نمی باشد ."
Case 53
Str = " در مسیر مشخص شده فایلی به این اسم وجود ندارد"


End Select

MsgBox Str
Response = acDataErrContinue


جای Dataerr از Err.number استفاده کردم چون جواب نمیداد
مشکلی که الان دارم اینه :
1- وقتی خطا اتفاق میفته اول یه پیغام خالی میده بعد پیغام فارسی مربوطه بعد هم پیغام انگلیسی ...!!!!!!!!!!!!!!!!!!

اکنون نیازمند یاری .........

sarami
سه شنبه 01 شهریور 1384, 21:43 عصر
به روشی که شما استفاده میکنید error هندلر گفته میشه پیغام انگلیسی که دوستمون ازش صحبت کردن مربوط به erornumber دیگه ای هستش شما باید اول حتما error number رو بدشت بیارید وسپس پیغام فارسی براش نشون بدین مانند روشی که شاپرک جان عنوان کردن ولی برای نمایش تکراری بودن یک رکورد بهتره تو befor update مربوط به فیلدی که نمی خواهید تکرار بشود از دستور dlookup استفاده کنین که در صورت تکراری بودن responce روکنسل کنین

شاپرک
چهارشنبه 02 شهریور 1384, 07:24 صبح
ولی من هنوز متوجه نشدم که چیکار باید بکنم؟

شاپرک
چهارشنبه 02 شهریور 1384, 10:41 صبح
با یه تیر دو نشون میزنید آقای sarami
پس جواب من چی میشه؟

شاپرک
چهارشنبه 02 شهریور 1384, 10:56 صبح
حل شد :

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)

On Error GoTo Err

Err:


Dim Str As String

Select Case ERR.Number
Case 94
Str = "هیچ فایلی انتخاب نشده !"
Exit sub
Case 9
Str = "فرمت فایل اتخاب شده قابل قبول نمی باشد ."
Exit sub

Case 53
Str = " در مسیر مشخص شده فایلی به این اسم وجود ندارد"
Exit sub


End Select

MsgBox Str

sarami
پنج شنبه 03 شهریور 1384, 20:10 عصر
شاپرک جان به این تاپیک یه سر بزنین فایل نمونه برای همه دوستانی که این مشکل رو دارن گذاشتم
http://www.barnamenevis.org/forum/showthread.php?p=139996&posted=1#post139996

sarami
پنج شنبه 03 شهریور 1384, 20:11 عصر
شاپرک جان دیدم اینجا این همه if استفاده کردی گفتم یه موردی هم عنوان کنم بد نیست بهتره به جای این همه if از دستور select استفاده کنی تا برنامت مفهوم باشه

Ali_Fallah
سه شنبه 05 مهر 1384, 23:42 عصر
دوست عزیزم شاپرک جان سلام وخسته نباشید
برای اینکه اکسس هنگام کار بر روی یک فرم وموقع رخ دادن خطا هیچ گونه پیغام خطایی نمایش ندهد
البته فقط پیغام اکسس
شما فقط کافیست در گزینه on error مربوط به فرم کد زیر را بنویسید
Response = 0
برنامه را اجرا نموده و نتیجه را مشاهده نمائید اگر جواب گرفتی لطفاً اطلاع بده دوستدارت lafot

شاپرک
چهارشنبه 06 مهر 1384, 07:29 صبح
واقعا ممنونم از موقعیکه من این سوال رو پرسیده بودم کسی نتونسته بود جوابی رو که می خواستم بده (این همونیه که می خواستم) از بقیه دوستان هم ممنونم

mohammadgij
چهارشنبه 06 مهر 1384, 16:45 عصر
دیدم این دوستمون هم نوشتهکه چی کار کنید واسه همین الکی یه چیزی سند کردم

انگوران
دوشنبه 10 مهر 1385, 08:48 صبح
دوستان سلام ـ تو اکسس میشه پیغامهائی که بر اثر خطا بوجود می آیند را کنترل کرد و پیغام فارسی معادل رو نوشت و پس از اون با response=0 جلوی پیغام اکسس را نیز گرفت آیا می شه پیامی را که خطا محسوب نمی شود و جهت اطلاع صادر می شود را کنترل کرد . مثلاً پیغامی که اعلام می کند جدولی بااین نام وجود دارد آیا برای جایگزین کردن مطمئن هستید . با تشکر

HAMRAHSOFT.IR
دوشنبه 10 مهر 1385, 08:56 صبح
من برای فارسی کردن پیغام ها فعلان از این روش ایتفاده مکنم و تا حلا جواب داند متونی امتحان کنی متلا برای اینکه بکاربر بگویم اطلاعات موردنظر وجود ندارد بدین صورت

Response = acDataErrContinue
MsgBox ". یوزنیم وارد شده موجود نمی‌باشد", , "خطا در ورود اطلاعات (مبتکران)"
Me.uoser = ""

البته از چپ به راست جون اینجا فکنم اشتباه کپی شوده باشه

انگوران
دوشنبه 10 مهر 1385, 13:33 عصر
متاسفانه جواب نداد - مجدداً تاکید می کنم این پیغام بر اثر خطا صادر نمی شود بلکه جهت اطلاع می باشد .

HAMRAHSOFT.IR
دوشنبه 10 مهر 1385, 14:16 عصر
نمونه برنامه بزار تا بینیم چکار متونیم برات بکنیم

samaneh_h
سه شنبه 11 مهر 1385, 08:27 صبح
احتیاج به نمونه برنامه نیست می‌دونین مثلاً وقتی دارید یک رکورد رو پاک می‌کنید ازتون می‌پرسه که مطمئن هستید یا نه این مثلا یه نمونه بود
من کاری که می‌کنم مثلاً پشت دکمه delete
docmd.SetWarnings false
msgbox"فارسی"
.
.
docmd.SetWarnings true

AHMAD-AHMAD
یک شنبه 13 اسفند 1385, 08:20 صبح
با سلام و خسته نباشید
هنگامیکه مقدار یک فیلد کلید دو بار تکرار شود سیستم ایراد میگرد که این فیلد کلید است و نمیتواند مقدار تکراری بگیرد .(( index or primary key cannot contain a null value)) چگونه میتوان این پیغام را حذف و بجای آن از یک پیغام فارسی استفاده نمود.
با تشکر از همه دوستان

انگوران
یک شنبه 13 اسفند 1385, 11:21 صبح
در رویداد on error فرم باید با کنترل خطا پیغامهای دلخواه رو بنویسید البته در کد زیر با کیسهای مختلف می تونین خطاهای مختلف رو کنترل کنین .

Select Case DataErr
Case 3022
msgbox("رکورد تکراری است")
Cancel = True
Response = 0
End Select
در ضمن اگه در رویدارد on error فرم بنویسید msgbox dataerr می تونین شماره خطاهای مختلف رو پیدا کنین

e20005ir
دوشنبه 18 مرداد 1389, 17:56 عصر
احتیاج به نمونه برنامه نیست می‌دونین مثلاً وقتی دارید یک رکورد رو پاک می‌کنید ازتون می‌پرسه که مطمئن هستید یا نه این مثلا یه نمونه بود
من کاری که می‌کنم مثلاً پشت دکمه delete
docmd.SetWarnings false
msgbox"فارسی"
.
.
docmd.SetWarnings true

با درود
میشه دقیقا توضیح بدید که برای فارسی کردن پیغام delete چه کار باید کرد؟
اگه شماره پیغام داره لطفا بگید

sadegh1944
سه شنبه 19 مرداد 1389, 07:38 صبح
Private Sub Cmd_Hazf_Click()

On Error GoTo Err_cmd_hazf_Click
DoCmd.SetWarnings False

If MsgBox("آیا مورد انتخابی حذف شود", vbYesNo + vbCritical + vbDefaultButton2, "حذف رکورد") = vbNo Then
Exit Sub
Else

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
End If
Exit_cmd_hazf_Click:
Exit Sub
Err_cmd_hazf_Click:
MsgBox err.Description
Resume Exit_cmd_hazf_Click

End Sub