注意 : 本文示例代碼使用 Microsoft 數據訪問對象。 為此代碼才能正常運行, 您必須引用 Microsoft DAO 3.6 對象庫。 可以進行, 單擊 工具 菜單中 VisualBasic 編輯器, 上 引用 並確保選中 Microsoft DAO 3.6 對象庫 復選框。
1. 在 Microsoft
Access 中打開數據庫。
2. 在數據庫窗口, 單擊下 對象 , 模塊 , 然後單擊 新建 。
3. 鍵入或粘貼以下代碼, 您只有創建模塊中:
CODE:
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. 在即時窗口, 鍵入以下行, 然後按 ENTER 鍵:
RecoverDeletedTable