PDA

View Full Version : ارور هنگام بستن برنامه از ضبدر بالا سمت راست



parsa70
سه شنبه 19 آذر 1398, 21:55 عصر
با سلام و احترام
من وقتی فرمی دارم که pop up on هست از اون ضبدر سمت راست بالا که میبندم
این ارور رو میده میشه درست کرد که ارور نده؟
وقتی دیباگ رو میزنم دیگه برنامه بسته میشه فکر کنم مربوط به frmmain هست
ممنون
151113

the king
سه شنبه 19 آذر 1398, 22:19 عصر
با سلام و احترام
من وقتی فرمی دارم که pop up on هست از اون ضبدر سمت راست بالا که میبندم
این ارور رو میده میشه درست کرد که ارور نده؟
وقتی دیباگ رو میزنم دیگه برنامه بسته میشه فکر کنم مربوط به frmmain هست
ممنون
151113

در کجا یا کجاهای کدتون به frmmain اشاره کردید؟ وقتی فرم رو می بندید بخاطر یک رخدادی که برایش کد نوشتید همچنان به frmmain اشاره ای میشه که دیگه نیست.
در همونجا با On Error GoTo line میشه خطا رو رد کرد به یک سطر خاص تا همچین پیامی دریافت نکنید.

parsa70
سه شنبه 19 آذر 1398, 23:01 عصر
مربوط به onload فرم هست

If DLookup("formOpen", "tblUserlevel2", "userid = Forms!frmmain!txtuserid And FormName = Form.name") = False Then


DoCmd.Close acForm, Me.Name
MsgBox "ÔãÇ ÏÓÊÑÓí áÇÒã ÈÑÇí ÈÇÒ ˜ÑÏä Çíä Óэ ÑÇ äÏÇÑíÏ", vbMsgBoxRight + vbInformation, "åÔÏÇÑ"
Exit Sub


End If


If DLookup("formedit", "tblUserlevel2", "userid = Forms!frmmain!txtuserid And FormName = Form.name") = False Then


MsgBox "ÔãÇ ÏÓÊÑÓí áÇÒã ÈÑÇí æíÑÇíÔ ˜ÑÏä Çíä Óэ ÑÇ äÏÇÑíÏ", vbMsgBoxRight + vbInformation, "åÔÏÇÑ"
Forms!frmanbarsearch!FrmAnbarSearchSub.Form.AllowE dits = False


End If


If DLookup("formADD", "tblUserlevel2", "userid = Forms!frmmain!txtuserid And FormName = Form.name") = False Then


Me.AllowAdditions = False


End If


If DLookup("formDelete", "tblUserlevel2", "userid = Forms!frmmain!txtuserid And FormName = Form.name") = False Then


Me.AllowDeletions = False


End If
End Sub

کجا باید این کد
On Error GoTo line
رو بزنم؟

the king
سه شنبه 19 آذر 1398, 23:14 عصر
مربوط به onload فرم هست

If DLookup("formOpen", "tblUserlevel2", "userid = Forms!frmmain!txtuserid And FormName = Form.name") = False Then


DoCmd.Close acForm, Me.Name
MsgBox "ÔãÇ ÏÓÊÑÓí áÇÒã ÈÑÇí ÈÇÒ ˜ÑÏä Çíä Óэ ÑÇ äÏÇÑíÏ", vbMsgBoxRight + vbInformation, "åÔÏÇÑ"
Exit Sub


End If


If DLookup("formedit", "tblUserlevel2", "userid = Forms!frmmain!txtuserid And FormName = Form.name") = False Then


MsgBox "ÔãÇ ÏÓÊÑÓí áÇÒã ÈÑÇí æíÑÇíÔ ˜ÑÏä Çíä Óэ ÑÇ äÏÇÑíÏ", vbMsgBoxRight + vbInformation, "åÔÏÇÑ"
Forms!frmanbarsearch!FrmAnbarSearchSub.Form.AllowE dits = False


End If


If DLookup("formADD", "tblUserlevel2", "userid = Forms!frmmain!txtuserid And FormName = Form.name") = False Then


Me.AllowAdditions = False


End If


If DLookup("formDelete", "tblUserlevel2", "userid = Forms!frmmain!txtuserid And FormName = Form.name") = False Then


Me.AllowDeletions = False


End If
End Sub

کجا باید این کد
On Error GoTo line
رو بزنم؟

قبل از اولین If یعنی جایی که هنوز سراغ frmmain نرفته اید می نویسید On Error GoTo LErr که LErr یک اسم دلخواهی است که من انتخاب کردم.
و مابین End If و End Sub یعنی جایی که روتین میخواد تموم بشه دو تا سطر زیر رو اضافه میکنید :


Exit Sub
LErr:


یعنی قالب کلی میشه این :


On Error GoTo LErr
If ... Then
.
.
.
End If
Exit Sub
LErr:
End Sub


این کد میگه اگر خطایی رخ داد بجای اینکه خطا رو بروز بدی برو به سطر LErr که اونجا هم کاری انجام نمیدیم و از روتین خارج میشه.

parsa70
سه شنبه 19 آذر 1398, 23:44 عصر
قبل از اولین If یعنی جایی که هنوز سراغ frmmain نرفته اید می نویسید On Error GoTo LErr که LErr یک اسم دلخواهی است که من انتخاب کردم.
و مابین End If و End Sub یعنی جایی که روتین میخواد تموم بشه دو تا سطر زیر رو اضافه میکنید :


Exit Sub
LErr:


یعنی قالب کلی میشه این :


On Error GoTo LErr
If ... Then
.
.
.
End If
Exit Sub
LErr:
End Sub


این کد میگه اگر خطایی رخ داد بجای اینکه خطا رو بروز بدی برو به سطر LErr که اونجا هم کاری انجام نمیدیم و از روتین خارج میشه.

استاد دستت درد نکنه درست شد.

parsa70
چهارشنبه 20 آذر 1398, 09:24 صبح
سلام من یک مشکلی دارم فکر کنم جزئی هست بعضی وقتا یوهو فونت های فارسی میترا و نازنین که اعداد فارسی هست تو فرم ها یوهو انگلیسی میشن
برای بعضی از سیستم ها که کلاً انگلیسی نشون میده عددها رو با این که فونت فارسی نصب هست.
ببخشید فکر کردم نیاز به ایجاد تایپیک جدا گانه نباشه.
سپاس

parsa70
یک شنبه 01 دی 1398, 09:25 صبح
سلام این مشکل رو کسی داشته و چجوری باید رفع کرد؟
تو ریپورت ها تو قسمت layout view وقتی فونت اعداد رو فارسی میزارم اولش درسته و فارسی نشون میده و لی وقتی در حالت Report view قرار میگیره انگلیسی میشه مجدد
شما هم همچین مشکلی دارید؟
office 2013

Mehr@ban
دوشنبه 02 دی 1398, 12:26 عصر
سلام من یک مشکلی دارم فکر کنم جزئی هست بعضی وقتا یوهو فونت های فارسی میترا و نازنین که اعداد فارسی هست تو فرم ها یوهو انگلیسی میشن
برای بعضی از سیستم ها که کلاً انگلیسی نشون میده عددها رو با این که فونت فارسی نصب هست.
ببخشید فکر کردم نیاز به ایجاد تایپیک جدا گانه نباشه.
سپاس

سلام

اگر با جابجایی روی سیستم های مختلف این مشکل ایجاد میشه، مربوط به تنظیمات سیستم عامل و ویندوز هست که برخی اعداد محلی رو نشون میده و برخی اعداد جهانی رو نمایش میده

parsa70
دوشنبه 02 دی 1398, 21:30 عصر
سلام

اگر با جابجایی روی سیستم های مختلف این مشکل ایجاد میشه، مربوط به تنظیمات سیستم عامل و ویندوز هست که برخی اعداد محلی رو نشون میده و برخی اعداد جهانی رو نمایش میده
سلام
تنظیماتش کجا هست می تونم تو هر سیستمی درست کنم؟؟
اون قسمت region and language در قسمت administrative persian هست. تو ویندوز 7

parsa70
سه شنبه 03 دی 1398, 07:29 صبح
سلام
تنظیماتش کجا هست می تونم تو هر سیستمی درست کنم؟؟
اون قسمت region and language در قسمت administrative persian هست. تو ویندوز 7

تو قسمت additional setting
use native setting رو national
و در standard digit اعداد فارسی رو انتخاب کردم درست شد.