我的VBA代码中的“标签未定义”是什么?

时间:2019-05-15 04:10:40

标签: vba ms-access access-vba

我在MS Access中有VBA代码

Private Sub ToolingNoID_AfterUpdate()
On Error GoTo ToolingNoID_AfterUpdate_Err

Dim ToolingNoID As String
ToolingNoID = InputBox("Please enter Tooling No", "Enter Tooling No")

If (IsNull(ToolingNoID)) Then
    Exit Sub
    Beep
    MsgBox "Please enter the tooling number.", vbOKOnly, ""
    DoCmd.CancelEvent
End If

End Sub

进攻线是

Private Sub ToolingNoID_AfterUpdate()

我真的不知道应该更改代码的哪一部分来实现上述条件。有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

违规行不是Sub声明,而是此行:

On Error GoTo ToolingNoID_AfterUpdate_Err

您的过程中没有ToolingNoID_AfterUpdate_Err标签。删除On Error语句,或在过程结束时添加一个错误处理子例程:

    Exit Sub
ToolingNoID_AfterUpdate_Err:
    MsgBox Err.Description, "Unexpected Error", vbExclamation
End Sub

在VBA中,“行标签”由标识符定义,后跟冒号,位于代码行的开头(理想情况下,位于其自己的行):

LineLabel:

“未定义标签”是当指令引用该范围中不存在的标签时出现的编译错误。