Liste der Microsoft Access-Datenbanktabellen generieren

Liste der Microsoft Access-Datenbanktabellen generieren

Wie lasse ich Microsoft Access eine Liste mit Datenbanktabellen erstellen?

Ich bin auf eine SQL-Abfrage gestoßen, die jemand vorgeschlagen hat aufeine andere WebsiteAccess scheint jedoch über keine Schnittstelle zu verfügen, die das einfache Ausführen einer benutzerdefinierten Abfrage wie der folgenden ermöglicht …

SELECT [Name]
FROM MSysObjects
WHERE Type In (1,4,6)
AND Left([Name] , 4) <> "MSys"
ORDER BY [Name]

Antwort1

Sie können das SQL, das Sie haben, in einer Abfrage ausführen, denn das ist es.

  1. Erstellen Sie eine neue Abfrage im Abfrageentwurf, nicht mit dem Assistenten.
    Bildbeschreibung hier eingeben
  2. Schließen Sie das Tabellenfenster.
    Bildbeschreibung hier eingeben
  3. Ändern Sie die Ansicht SQLund geben Sie Ihre Zeichenfolge ein.
  4. Klicken RUN.
    Bildbeschreibung hier eingeben

Antwort2

DAOMit in können Sie dies folgendermaßen tun VB:

Public Sub ListTablesDAO()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef

    Set db = CurrentDb
    For Each tdf In db.TableDefs
        If (tdf.Attributes And dbSystemObject) = 0 Then
            Debug.Print tdf.Name
        End If
    Next tdf
    db.Close: Set db = Nothing
End Sub

und so mitADO

Public Sub ListTablesADO()
    Dim rs As ADODB.Recordset

    Set rs = CurrentProject.Connection.OpenSchema(adSchemaTables)
    Do Until rs.EOF
        If rs!TABLE_TYPE = "TABLE" Then
            Debug.Print rs!TABLE_NAME
        End If
        rs.MoveNext
    Loop
    rs.Close: Set rs = Nothing
End Sub

DAO und ADO stellen zwei unterschiedliche Objektmodelle für Datenbanken zur Verfügung. Welche Variante Sie wählen, hängt von Ihren Präferenzen ab. Außerdem benötigen Sie einen Verweis auf die jeweiligen Bibliotheken:

Sie können diese Referenzen im Menü hinzufügen Tools > References:

Bildbeschreibung hier eingeben

verwandte Informationen