【问题标题】:Access VBA “Compile Error: Label not defined”访问 VBA “编译错误:未定义标签”
【发布时间】:2017-05-08 18:08:57
【问题描述】:

我的一个同事无意中弄乱了旧的 Access 导出脚本,我们现在收到“标签未定义”错误,我离 Access 专家很近,任何帮助都会很好。

Function Macro2()
On Error GoTo Macro2_Err

    DoCmd.TransferText acExportDelim, "golfexport", "ctcexport", "P:\transferdata\golfexport05052017"
    Exit Function

Macro2_Err:
    MsgBox Error$
    Resume Macro2_Exit

End Function

错误是以黄色突出显示顶行和“Resume Macro2_Exit”行。

任何人都有一个想法,因为它很可能是一个胖手指退格杀死了一些东西。

谢谢

【问题讨论】:

  • 看看你的代码。 Macro2_Exit 定义在哪里?

标签: vba ms-access label defined


【解决方案1】:
Resume [Label]

该指令需要存在一个行标签,以便执行可以在那里恢复。如果未定义标签,则无处跳转,代码无法编译。

如果这就是程序的全部内容,您可以删除Resume 指令并收工。如果DoCmdExit Function 之间有代码,你可以在那里定义标签:

Macro2_Exit:
    Exit Function
Macro2_Err:
    MsgBox Err.Description
    Resume Macro2_Exit

注意使用Err.Description 而不是恐龙时代的Error$ 字符串。只是一个建议。

【讨论】:

  • 也许值得注意的是,如果你在退出标签下写 End FunctionEnd Sub,而不是 Exit FunctionExit Sub,你会得到同样的错误。
  • @Nat 也许.. 再有无数种方法使 VBA 无法编译。您还知道您可以在Property 中非常合法地使用Exit FunctionExit Sub
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-28
  • 2021-09-11
  • 1970-01-01
相关资源
最近更新 更多