VB-Homepage Tipp 241

Prüfung ob Tabelle oder Abfrage in einer DB existiert

Und gleich noch einen Tipp zum Datenbankhandling.

Hier geht es schon etwas über den Status einer selbsterstelleten oder zumindestens hinlänglich bekannten Datenbank hinaus, denn dort wo x-beliebige Datenbanken bearbeitet werden, ist mitunter nicht immer bekannt, wie die enthaltenen Tabellen heißen.

Wie man die Namen der enthalten Tabellen in einer beliebigen DB ermitteln kann, daß wäre ein weiterer Tipp, der sicher folgen wird. Hier geht es erstmal nur um die Überprüfung ob eine Tabelle, die man sucht, in der entsprechenden DB enthalten ist.

Allgemein/Deklarationen
Dim DB As Database
Const NameNotInCollection = 3265

Allgemein/ExistsTableQuery
Private Function ExistsTableQuery(TName As String) As Boolean
Dim Test As String
On Error Resume Next

'Tabellenliste
Test = DB.TableDefs(TName).Name

If Err <> NameNotInCollection Then
   ExistsTableQuery = True
   ' Zurücksetzen der Fehlervariable
   Err = 0
   ' Abfrageliste
   Test = DB.QueryDefs(TName$).Name

   If Err <> NameNotInCollection Then
     ExistsTableQuery = True
   End If
End If
End Function

Fügen Sie nun Ihrem Projekt einen Commandbutton hinzu, der die Überprüfung auslösen soll. Dieser erhält in der Click Aktion folgende Anweisungen.
'hier den Pfad zur zu überprüfenden Datenbank eingeben

Set DB = DBEngine.Workspaces(0).OpenDatabase("D:\VB\VB4\Biblio.mdb")

' Tabellenname
MsgBox "Die Tabelle <Gibtsnicht> " & IIf(ExistsTableQuery("Gibtsnicht"), "existiert", "existiert nicht") & ", in der angegebenen Datenbank."
MsgBox "Die Tabelle <Authors> " & IIf(ExistsTableQuery("Authors"), "existiert", "existiert nicht") & ", in der angegebenen Datenbank."

Starten Sie Ihr Projekt (nachdem Sie den Pfad zur DB modifiziert haben) und überpüfen Sie die DB auf die angegebenen Tabellen "Gibtsnicht" und Authors".


Tipp-Download

Quelle : MS Knowledge Base

Zurück zur Übersichtsseite