修复/压缩
恢复从Access 2003 数据库中删除的表
2015-02-03 16:18:55

此方法在Access 2000、Access 2002 或Access 2003 可用,可以恢复删除的表。

 

1.    运行 MicrosoftAccess 数据库,双击打开。  2.    在数据库窗口中,新建一个模块对象 ,  3.    键入或粘贴以下代码, 您只有创建模块中:

Function RecoverDeletedTable()   On Error GoTo ExitHere   '*Declarations*     Dim db As DAO.Database     Dim strTableName As String     Dim strSQL As String     Dim intCount As Integer     Dim blnRestored As Boolean   '*Init*     Set db = CurrentDb()   '*Procedure*     For intCount = 0 To db.TableDefs.Count - 1       strTableName = db.TableDefs(intCount).Name       If Left(strTableName, 4) = "~tmp" Then         strSQL = "SELECT DISTINCTROW [" & strTableName & "].* INTO " & Mid(strTableName, 5) & " FROM [" & strTableName & "];"         DoCmd.SetWarnings False         DoCmd.RunSQL strSQL         MsgBox "A deleted table has been restored, using the name '" & Mid(strTableName, 5) & "'", vbOKOnly, "Restored"         blnRestored = True       End If     Next intCount     If blnRestored = False Then   MsgBox "No recoverable tables found", vbOKOnly     End If   '*EXIT/ERROR*   ExitHere:     DoCmd.SetWarnings True     Set db = Nothing     Exit Function   ErrorHandler:     MsgBox Err.Description     Resume ExitHere   End Function

4.    先在 调试 菜单上, 单击 编译 ,确定代码是否有问题。  5.    保存为 RecoverTable 模块。 要测试此函数, 首先创建两个表, 添加行, 并删除表。  6.    在即时窗口, 键入以下行: ?RecoverDeletedTable, 然后按 ENTER 键即可测试

 

注意 : 本文示例代码使用 Microsoft 数据访问对象。 为此代码才能正常运行, 您必须引用 Microsoft DAO 3.6 对象库。 可以进行, 单击  工具  菜单中 VisualBasic 编辑器, 上  “引用”  并确保选中  Microsoft DAO 3.6 对象库  复选框。