Sådan får adgang VBA Query til liste tabellerne i en database

Adgang lagrer oplysninger om databasen struktur i MSysObjects tabellen . datalagring billede ved Kir fra & lt; a href = 'http: //www.fotolia.com'> Fotolia.com & lt; / a & gt;

Microsoft Access er en database management system for den enkelte at skabe deres egne databaser, rapporter og brugernes former.Adgang indeholder alle byggestenene til at udvikle små applikationer.Du kan oprette tabeller til data, lagrede procedurer, brugerdefinerede funktioner og makroer i tillæg til rapporter og formularer.Alle disse komponenter har deres egne pejlemærker eller optage definitioner, der er gemt i en skjult system, bord.Adgang holder styr på hver tabel, rapport, form osv du oprette og gemmer oplysninger som når den blev oprettet eller opdateret og system flag.

Kom en Liste over tabeller

  1. Opret en forespørgsel til at køre SQL-kommandoen nedenfor.Denne forespørgsel henter en liste over alle tabeller i den aktuelle Access-database.WHERE bruger nummer 1 for at angive, at vi kun vil have tabellerne returneres.

    SELECT MSysObjects.Name, MSysObjects.DateCr

    eate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
    FRA MSysObjects
    WHERE MSysObjects.Type = 1

  2. Retur en liste over kun de ikke-system tabeller i databasen medeksemplet forudsat:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
    FRA MSysObjects
    WHERE MSysObjects.Type = 1 og MSysObjects.Name ikke lide "MSYS *"

  3. Retur en liste over kun de ikke-skjulte tabeller i databasen ved at køre forespørgslen nedenfor:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
    FRA MSysObjects
    WHERE MSysObjects.Type =1 OG MSysObjects.Flags & amp; lt; & amp; gt;8

  4. sortere listen over ikke-skjult, ikke-system tabeller ved hjælp af SQL-koden nedenfor:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
    FRA MSysObjects
    HVORMSysObjects.Type = 1 og MSysObjects.Flags & amp; lt; & amp; gt;8 og MSysObjects.Name ikke lide "MSYS *"
    ORDER BY MSysObjects.Name

Brug listen over tabeller i VBA

  1. Load din liste over tabeller i en rekord sæt objekt ved hjælp af VBA-kode, der er vist nedenfor:

    Dim rsMyTables As DAO.Recordset
    Set rsMyTables = CurrentDb.OpenRecordset ("MinForespørgsel")

  2. Loop gennem hver post returneres i forespørgslen.

    Dim rsMyTables As DAO.Recordset
    Set rsMyTables = CurrentDb.OpenRecordset ("MinForespørgsel")

    gøre, mens Not rsMyTables.EOF
    & amp; # 039;Kode til at manipulere data

    rsMyTables.MoveNext
    Loop

  3. Tilføj hvert bord navn til en drop-down listen ved at ændre din while-løkke:

    Dim rsMyTables Som DAO.Recordset
    Set rsMyTables = CurrentDb.OpenRecordset ("MinForespørgsel")
    Me.cmbMyComboBox.Clear

    gøre, mens Not rsMyTables.EOF
    Me.cmbMyComboBox.AddItem rsMyTables! [Name]

    rsMyTables.MoveNext
    Loop

  4. Luk din rekord sæt objekt, så det frigiver hukommelsen det er ved hjælp af:

    Dim rsMyTables As DAO.Recordset
    Set rsMyTables = CurrentDb.OpenRecordset ("MinForespørgsel")
    Me.cmbMyComboBox.Clear

    gøre, mens Not rsMyTables.EOF
    Me.cmbMyComboBox.AddItem rsMyTables [Name]

    rsMyTables!.MoveNext
    Loop

    rsMyTables.Close
    Set rsMyTables = Nothing

Resources

  • Everything Adgang: DDL Query Code Eksempler
955
0
1
Database Software