我有一个损坏的MS Access数据库

我有一个损坏的MS Access数据库。 我无法打开它了。 但是它包含重要的数据。 我能做些什么来恢复数据?

小心创build损坏的数据库的副本,以避免在修复过程中造成不可恢复的损坏。

要从损坏的数据库表中恢复数据,请按照下列步骤操作:

  1. 复制损坏的数据库表。 重新创build或仅将损坏的数据库表的结构粘贴到新表中。
  2. 打开损坏的数据库表和表结构的副本,以便可以看到两个表。
  3. 切换到损坏的数据库表。 在视图菜单上,单击数据表视图 ,然后通过单击loggingselect器是每个logging左侧的空白buttonselect整个logging。 在编辑菜单上,单击复制从损坏的数据库表中复制logging。
  4. 切换到新表,将指针放在一个位置,将数据放在损坏的数据库表中的数据位于同一位置。 在编辑菜单上,单击粘贴
  5. 在每个复制和粘贴操作之后testing表格。 通过使用单个logging或小组logging重复步骤4到6,直到您收到错误消息,而只testing保留的损坏的logging。 然后,重新input任何不能移动到新表格的数据。

注意您可能能够打印损坏的数据库表中的数据,以使此步骤更容易。

  1. 在所有logging已被移动到新表之后,在Access中使用与损坏的数据库不同的名称创build一个新的空白数据库。
  2. 将新表和所有未损坏的对象导入新数据库,然后退出Access。
  3. 重命名损坏的数据库或将损坏的数据库移动到新的位置。 如果.ldb文件存在,请删除损坏的数据库的.ldb文件,然后将新的数据库移动到所需的位置。
  4. 将修复的数据库重命名为损坏的数据库的名称。

笔记

  • 在将恢复的数据库返回到生产环境之前,请始终testing恢复的数据库。
  • 在确认恢复之前,不要删除损坏的数据库。
  • 当您将DataType属性设置为“ 自动编号”时复制字段时,请将DataType设置为Number ,并将字段FieldSize属性设置为Long Integer以便恢复表中的字段。 要将它们还原为自动编号并仍保留其原始值,您必须创build另一个表格,即最终恢复的表格。 完成前面的步骤以使用Long Integer来创build临时表。 然后,从原始表中使用结构只复制一个新的空白表。 确保包含“ 自动编号”字段。 使用追加查询追加新恢复的表中的良好logging。 这正确地将AutoNumber值带到新恢复的表中。

来源: https : //support.microsoft.com/en-us/kb/247771


编辑

您也可以尝试使用LibreOfficeOpenOffice打开损坏的数据库的副本。 有时候这个开放源码软件更宽容。