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:

  1. Öffne den VBA-Editor (ALT + F11).

  2. Füge ein neues Modul ein.

  3. Kopiere den Code hinein.

  4. 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)?