Tipp 4.9 - Tabelle/Abfrage vorhanden

Wie überprüfe ich, ob eine Tabelle bzw. Abfrage in der Datenbank existiert?

Mit dieser Funktion können Sie überprüfen, ob eine Tabelle bzw. Abfrage in der Datenbank existiert. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.

Beispiel:

Public Function A2XTblOrQryExists(pdbs As DAO.Database, _
                                  psName As String) _
                                  As Boolean
  '// =====================================================
  '// Methode   | Überprüft, ob die angegebene Tabelle bzw.
  '               Abfrage in der DB Vorhanden ist
  '// -----------------------------------------------------
  '// Parameter | pdbs   - Datenbankobjekt
  '               psName - Name der Tabelle/Abfrage
  '// -----------------------------------------------------
  '// Rückgabe  | Boolean - True = vorhanden
  '// -----------------------------------------------------
  '// Erstellt  | Manuela Kulpa
  '//           | EDV Innovation & Consulting - Dormagen
  '// -----------------------------------------------------
  '// Beispielaufruf:
  '// ?A2XTblOrQryExists(CurrentDb,"Kunden")
  '// =====================================================
  Dim con As DAO.Container
  Dim v As Variant
 
  On Error GoTo A2XTblOrQryExists_Error
 
  Set con = pdbs.Containers("Tables")
 
  ' Error-Handling ausschalten, damit wir auf Fehler
  ' reagieren können
  On Error Resume Next
  v = con.Documents(psName).Name
 
  ' Falls Fehler, existiert die Tabelle/Abfrage nicht
  A2XTblOrQryExists = (Err.Number = 0)
 
A2XTblOrQryExists_Exit:
  On Error GoTo 0
  If Not con Is Nothing Then Set con = Nothing
  Exit Function
 
A2XTblOrQryExists_Error:
  Select Case Err.Number
    Case Else
      MsgBox "Fehler " & Err.Number & ": " & _
             Err.Description, vbCritical, _
             "modData.A2XTblOrQryExists"
  End Select
  Resume A2XTblOrQryExists_Exit
 
End Function