Rubrik: Datenbanken · ADO | VB-Versionen: VB5, VB6 | 19.02.04 |
Tabellen-Existenz prüfen (ADO) Überprüft, ob eine bestimmte Tabelle in einer Datenbank vorhanden ist (ADO-Variante). | ||
Autor: Dieter Otter | Bewertung: | Views: 19.757 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Ein entsprechender Tipp, wie man die Tabellen einer Datenbank ermittelt ist bereits bekannt:
Tabellen einer Access-Datenbank ermitteln (ADO)
Wenn man obigen Tipp etwas verändert, lässt sich dieser auch dazu benutzen, um zu ermitteln, ob eine bestimmte Tabelle innerhalb der Datenbank existiert oder nicht.
Fügen Sie hierzu folgenden Code in ein Modul ein:
' Tabellen-Existent prüfen Public Function dbTableExists( _ oConn As ADODB.Connection, _ ByVal sTableName As String) As Boolean Dim oRs As ADODB.Recordset ' Recordset über Tabellen-Schema erstellen Set oRs = oConn.OpenSchema(adSchemaTables) ' Recordset durchlaufen und Tabellen prüfen Do Until oRs.EOF If oRs("TABLE_TYPE") = "TABLE" Then If oRs("TABLE_NAME") = sTableName Then dbTableExists = True: Exit Do End If End If oRs.MoveNext Loop oRs.Close Set oRs = Nothing End Function
Die Funktion erwartet folgende zwei Paramater:
- oConn: Connection-Objekt einer geöffneten Datenbank
- sTableName: Tabellenname
Beispiel für den Aufruf:
' Datenbank öffnen Dim oConn As New ADODB.Connection With oConn ' Provider: Access 2000/XP .Provider = "Microsoft.Jet.OLEDB.4.0" ' Pfad zur Access-Datenbank .Properties("Data Source") = "c:\db\datenbank.mdb" ' Cursor-Location .CursorLocation = adUseClient ' Connection öffnen .Open End With ' Existiert die Tabelle "Adressen"? If Not dbTableExists(oConn, "Adressen") Then ' Nein... ... End If