Что такое «Метка не определена» в моем коде VBA? - PullRequest
0 голосов
/ 15 мая 2019

У меня есть код VBA в MS Access

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 Ответ

1 голос
/ 15 мая 2019

Неправильная строка - это не объявление 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:

«Метка не определена» - это ошибка компиляции, которую вы получаете, когда инструкция ссылается на метку, которой нет вэта сфера.

...