Benutzung auf eigene Gefahr ! |
Beschreibung |
Das Programm prüft, ob in der aktuellen Datenbank oder in einer anderen Datenbank eine Tabelle oder Abfrage existiert. |
VBA-Quelltext |
Public Function RecordSetExistiert(NameRecordSet As String, Optional DatenBank As String = "") As Boolean Dim RecordSet As Object, DB As DAO.Database On Error GoTo ExistiertNicht If DatenBank = "" Then Set DB = CurrentDb Else ' Existiert die Datenbank-Datei ? If Dir$(DatenBank, vbHidden + vbReadOnly + vbSystem) = "" Then GoTo ExistiertNicht Set DB = OpenDatabase(DatenBank) End If RecordSetExistiert = True ' Namen aller Tabellen überprüfen For Each RecordSet In DB.TableDefs If RecordSet.Name = NameRecordSet Then Exit Function Next RecordSet ' Namen aller Abfragen durchsuchen For Each RecordSet In DB.QueryDefs If RecordSet.Name = NameRecordSet Then Exit Function Next RecordSet ExistiertNicht: RecordSetExistiert = False End Function |
Argumente der Funktion/Prozedur |
|
Verwendete Variable |
|
Rückgabewert |
Wahrheitswert, der angibt, ob eine Tabelle oder Abfrage mit diesem Namen existiert. |
Hinweis |
Die gleichzeitige Vergabe eines Namens an eine Tabelle und an eine Abfrage ist in Access nicht möglich. Daher müssen immer sowohl die Namen aller Tabellen als auch aller Abfragen überprüft werden. Bei der Überprüfung werden auch ausgeblendete Tabellen/Abfragen, eingebundene und Systemtabellen überprüft. |
Anwendungsgebiete, Fehler und Warnungen |
Bei Abfragen wird nicht überprüft, ob sich diese auch ausführen lassen. Die Namen von Tabellen / Abfragen dürfen kein " enthalten.
Bei Access 2000 darf nach dem Schlüsselwort 'Optional' im Funktionskopf auch ein Typ stehen. Bei älteren Access-Versionen muss die Typdeklaration |