我公司的Access数据库最近出现了一些严重的问题。我们得到的错误似乎表明它们已损坏——以下是最常见的:
- 访问文件时出错。网络连接可能已丢失。
- 编译此函数时出错。
- 没有错误,Access 完全崩溃了。
我注意到这些错误只发生在已编译的数据库中。如果我反编译它,它工作正常。如果我使用未编译的数据库并对其进行编译,它可以正常工作——直到我下次尝试打开它。看来将数据库编译成 .ACCDE 文件可以解决问题,这是我一直在做的,但有人报告说问题返回给她,这让我非常紧张。
我尝试将数据库中的所有对象导出为文本,从一个全新的数据库开始,然后再次将它们全部导入,但这并不能解决问题。一旦我将所有对象导入到干净的数据库中,问题就会再次出现。
最后一点似乎是相关的,但我不明白如何。问题开始于我在数据库中添加一些类模块的时候。这些类模块使用 VBAImplements
关键字,通过引入一些多态性来清理我的代码。我不知道为什么这会导致问题,但时间似乎表明了一种关系。
我一直在寻找解释,但还没有找到。有没有人有什么建议?
编辑:除了标准的参考资料之外,该数据库还包括一些参考资料:
- Microsoft ActiveX 数据对象 2.8
- 微软办公软件 12.0
- Microsoft 脚本运行时
- Microsoft VBScript 正则表达式 5.5