症状:

当使用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

文件用DataNumen Access Repairmydb_7_fixed.mdb