症状:
当使用Microsoft Access打开损坏的Access数据库文件时,首先会看到以下错误消息(错误53):
文件未找到
一个示例截图如下:
请注意错误消息标题是“Microsoft Visual Basic for Application”,因此错误似乎是因为没有找到VBA文件而引起的。
点击“确定”按钮,你会得到下一个错误消息(错误29081):
无法读取数据库中包含的VBA项目,无法打开数据库。只有先删除VBA项目,才能打开数据库。删除VBA项目将删除模块、表单和报告中的所有代码。在尝试打开数据库并删除VBA项目之前,您应该备份数据库。
若要创建备份副本,请单击“取消”,然后创建数据库的备份副本。如果要打开数据库并删除VBA项目而不创建备份副本,请单击“确定”。
或
数据库中的Visual Basic for Applications项目已损坏。
截图如下:
如果您继续单击“OK”按钮,让Access打开数据库并删除VBA项目,您将得到第三条错误消息(错误29072),如下所示:
Microsoft Access已在此文件中检测到损坏。要修复损坏,首先要对文件进行备份。单击“文件”选项卡,指向“管理”,然后单击“压缩和修复数据库”。如果当前正在尝试修复此损坏,则需要重新创建此文件或从以前的备份中恢复该文件。
截图如下:
这意味着Microsoft Access无法打开数据库。
精确的解释:
原始运行状况Access数据库根本不包含任何VBA项目。但是,由于损坏,Access会认为损坏的数据库文件包含VBA项目,并尝试打开它。在打开文件失败后,它将显示上述错误消息,这有点令人困惑,因为原始文件根本不包含任何VBA项目。
唯一的解决办法就是使用我们的产品DataNumen Access Repair修复MDB文件并解决此错误。
示例文件:
示例损坏的MDB文件将导致错误。mydb_7.mdb