如何在“找不到文件”错误后增加 VBA 错误输出以诊断一致崩溃
Posted
技术标签:
【中文标题】如何在“找不到文件”错误后增加 VBA 错误输出以诊断一致崩溃【英文标题】:How to increase VBA error output to diagnose consistent crashing after "File not found" error 【发布时间】:2016-12-23 16:08:30 【问题描述】:有没有一种方法可以让应用程序 MS Access 和 VBA 更详细,以便更好地诊断来自 IDE 的错误?
我打开我的 MS Access 项目,我得到一个消息对话框,标题为“Microsoft Visual Basic for Applications”,消息“找不到文件:”,没有指定任何路径。打开表单文件按预期工作。
当我进入 VBA 时,我可以从即时窗口运行一些命令。以下操作将导致 MS Access 崩溃,并显示标题为“Microsoft Access 已停止工作”的消息框:
关闭数据库 停止调试器(它打开时处于活动状态,试图加载表单) 选择 MS-Access / VBA 最初崩溃时我正在处理的过程的文本。【问题讨论】:
【参考方案1】:这没有回答问题,但似乎已通过删除相关过程、让 MS Access 崩溃并重新打开 VBA 解决了根本问题。
【讨论】:
【参考方案2】:回答标题中的问题:如果错误实际上是由 VBA 代码引起的,您可以捕获错误(使用 On Error Goto ...
)并根据您的方法的上下文提供其他信息(您尝试打开的文件等)。不幸的是,没有神奇的开关可以让内置的错误消息更有用。
回答问题正文中的问题:根据您的描述,该错误不是由用户提供的实际 VBA 代码引起的。相反,您的数据库或其 VBA 模块已损坏(访问崩溃或显示看似随机的错误是一个强烈的迹象)。修复、压缩和decompile 您的数据库。也可能值得查看 VBA 参考,因此请查看是否缺少其中的任何一个。
【讨论】:
【参考方案3】:你能在即时窗口中执行命令 resume 吗?它应该将您发送回未找到文件的代码行。
【讨论】:
以上是关于如何在“找不到文件”错误后增加 VBA 错误输出以诊断一致崩溃的主要内容,如果未能解决你的问题,请参考以下文章