Tabellenfelder auslesen
Hier ist ein kleines VBA-Skript für Access, das alle Tabellennamen und deren Felder mit Datentypen im Direktfenster (Debug.Print) ausgibt:
Sub TabellenUndFelderAnzeigen()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Set db = CurrentDb
For Each tdf In db.TableDefs
' Nur Benutzer-Tabellen anzeigen (keine System- oder temporären Tabellen)
If Left(tdf.Name, 4) <> "MSys" And Left(tdf.Name, 1) <> "~" Then
Debug.Print "Tabelle: " & tdf.Name
For Each fld In tdf.Fields
Debug.Print " Feld: " & fld.Name & " - Typ: " & FeldTypName(fld.Type)
Next fld
Debug.Print String(40, "-")
End If
Next tdf
End Sub
Function FeldTypName(ByVal FeldTyp As Integer) As String
Select Case FeldTyp
Case dbBoolean: FeldTypName = "Ja/Nein"
Case dbByte: FeldTypName = "Byte"
Case dbInteger: FeldTypName = "Integer"
Case dbLong: FeldTypName = "Long"
Case dbCurrency: FeldTypName = "Währung"
Case dbSingle: FeldTypName = "Single"
Case dbDouble: FeldTypName = "Double"
Case dbDate: FeldTypName = "Datum/Uhrzeit"
Case dbText: FeldTypName = "Text"
Case dbLongBinary: FeldTypName = "OLE-Objekt"
Case dbMemo: FeldTypName = "Langer Text"
Case dbGUID: FeldTypName = "GUID"
Case dbAttachment: FeldTypName = "Anlage"
Case Else: FeldTypName = "Unbekannt (" & FeldTyp & ")"
End Select
End Function
Was du tun musst:
-
Öffne den VBA-Editor (ALT + F11).
-
Füge ein neues Modul ein.
-
Kopiere den Code hinein.
-
Führe die Prozedur
TabellenUndFelderAnzeigen
aus (z. B. mit F5 oder im Direktfenster:Call TabellenUndFelderAnzeigen
).
📌 Das Ergebnis erscheint im Direktfenster (STRG + G zum Öffnen).
Möchtest du das Ganze auch in eine Datei exportieren (z. B. als Textdatei)?