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

时间:2012-10-09 16:26:03

标签: 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

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

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

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

谢谢

2 个答案:

答案 0 :(得分:5)

当Access抱怨它无法读取VBA项目代码时,您可以尝试反编译。有关详细说明,请参阅此SO问题的两个答案:HOW TO decompile and recompile

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

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

Application.SaveAsText acModule, "Module1", "C:\SomeFolder\Module1.txt"

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

Application.LoadFromText acModule, "Module1", "C:\SomeFolder\Module1.txt"

答案 1 :(得分:0)

对于仍然遇到此问题的人,这是一个更新。在比受影响的计算机更新的Access版本上编译.accde时,会发生此问题。事实证明,有些机器正在使用Windows更新进行更新,而有些则没有。通过安装SP2然后2016年2月更新将所有Office安装到相同版本号后,可执行文件现在可以在我的所有计算机上运行。

这是SP2的链接(请确保下载正确的文件。) https://www.microsoft.com/en-us/download/details.aspx?id=39667

这里是2016年2月的更新: https://support.microsoft.com/en-us/kb/3114750

HTH, 帕特里克