نقل قول نوشته شده توسط parsa70 مشاهده تاپیک
مربوط به 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 که اونجا هم کاری انجام نمیدیم و از روتین خارج میشه.