Wiederherstellen von aus einer Datenbank gelöschten Tabellen

In diesem Thema wird veranschaulicht, wie Sie eine Beispiel-VBA-Funktion (Visual Basic für Applikationen) erstellen, mit der Sie Tabellen wiederherstellen können, die unter den folgenden Bedingungen aus einer Access-Datenbank gelöscht wurden:

  • Die Datenbank wurde seit dem Löschen der Tabellen nicht geschlossen.

  • Die Datenbank wurde seit dem Löschen der Tabellen nicht komprimiert.

  • Die Tabellen wurden mithilfe der Access-Benutzeroberfläche gelöscht.

  • Die Tabelle enthält keine Mehrfachwert- oder Anlagenfelder.

Fügen Sie die folgende Prozedur in ein Standardmodul ein.

Sub RecoverDeletedTable() 
On Error GoTo ExitHere 
 
 Dim db As DAO.Database 
 Dim strTableName As String 
 Dim strSQL As String 
 Dim intCount As Integer 
 Dim blnRestored As Boolean 
 
 Set db = CurrentDb() 
 
 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 Sub 
 
ErrorHandler: 
 MsgBox Err.Description 
 Resume ExitHere 
 
End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.