此方法在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 对象库 复选框。