如果没有要显示的详细信息,我正在尝试阻止打开详细信息表单。它似乎有效,但是当我关闭自定义错误消息时,会弹出一个额外的烦人错误2501">openform操作已取消"。
我在父窗体的详细信息按钮上有此代码:
DoCmd.OpenForm "frmEvent_Participants", , , "[Event_ID]=" & Me!txtEvent_ID
在详细信息表单的打开事件中,我有以下代码:
Private Sub Form_Open(Cancel As Integer)
With Me.RecordsetClone
If .RecordCount = 0 Then
Beep
MsgBox "There are no records to view", vbInformation + vbOKOnly
Cancel = True
End If
End With
End Sub
生成错误的不是您打开的窗体,而是打开窗体的代码或宏,并且可以通过基本错误处理来避免错误。
例如,如果窗体称为Form1
,并且您使用命令按钮后面的代码(或其他任何内容(打开,则使用如下代码:
DoCmd.OpenForm "Form1"
然后围绕它进行错误处理,如下所示:
On Error Resume Next
DoCmd.OpenForm "Form1"
On Error GoTo 0
或者,根据表单的作用,您可能需要更加小心,以确保您"忽略"On Error Resume Next
的唯一错误是Error 2501:The OpenForm action was canceled
然后检查它:
On Error Resume Next
DoCmd.OpenForm "Form1"
If Err <> 0 And Err <> 2501 Then Err.Raise Err, , Err.Description
On Error GoTo 0