无法打开数据库,因为无法读取其中包含的VBA项目

Mar*_*arc 3 ms-access ms-access-2010

今天早上,我收到了这个错误

Error accessing file. Network connection may be lost

无论我在任何形式上做什么.所以我打开了一个空白数据库并导入了一切.发生了一些错误,但它表示导入成功.我能够再次打开我的表格.然后我回去了旧版本,然后当我尝试打开数据库时出现此错误

The database cannot be opened because the VBA project contained in it cannot be read
Run Code Online (Sandbox Code Playgroud)

即使我在第一次错误之前做的备份现在就说了.

我尝试再次导入,导入时出错.

我现在变得紧张,请告诉我有办法解决这个问题

谢谢

Han*_*sUp 5

当Access抱怨它无法读取VBA项目代码时,您可以尝试反编译.有关详细说明,请参阅此SO问题的两个答案:如何反编译和重新编译.

如果反编译无法将您的应用程序恢复到正常工作状态,那么最快的解决方案可能是恢复到您上次的良好备份副本.

如果您愿意为自上次备份以来恢复模块更改付出额外的努力,请检查您是否仍然可以访问模块源代码.如果源代码是可读的,则可以使用未记录的SaveAsText方法将代码转储到文本文件:

Application.SaveAsText acModule, "Module1", "C:\SomeFolder\Module1.txt"
Run Code Online (Sandbox Code Playgroud)

然后使用该LoadFromText方法将其加载到新的db文件中.

Application.LoadFromText acModule, "Module1", "C:\SomeFolder\Module1.txt"
Run Code Online (Sandbox Code Playgroud)