阻止打开详细信息窗体 如果没有详细信息,请访问 2007



如果没有要显示的详细信息,我正在尝试阻止打开详细信息表单。它似乎有效,但是当我关闭自定义错误消息时,会弹出一个额外的烦人错误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

相关内容

最新更新