How to Get Access VBA Vragen aan de tabellen worden in een database

Access slaat informatie over de database structuur in de tabel MSysObjects . beeldgegevens opslag door Kir van & lt; a href = 'http: //www.fotolia.com'> Fotolia.com & lt; / a & gt;

Microsoft Access is een database management systeem voor individuen om hun eigen databases, rapporten en gebruiksvriendelijke formulieren te maken.Toegang bevat alle bouwstenen voor het ontwikkelen van kleine toepassingen.U kunt tabellen voor data, opgeslagen procedures, door de gebruiker gedefinieerde functies en macro's in aanvulling op de rapporten en formulieren te creëren.Al deze onderdelen hebben hun eigen tips of opnemen definities opgeslagen in een verborgen systeem tafel.Toegang houdt bij elke tafel, rapport, vorm, enz. Die u maakt en slaat informatie, zoals toen het werd gemaakt of bijgewerkt en het systeem vlaggen.

krijgen van een Lijst van tabellen

  1. Maak een query naar de SQL-opdracht hieronder uit te voeren.Deze query haalt een lijst van alle tabellen in de huidige Access-database.Waar clausule maakt gebruik van de nummer 1 om aan te geven dat we

    alleen willen dat de tafels terug.

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
    VAN MSysObjects
    WAAR MSysObjects.Type = 1

  2. Terug een lijst met alleen de niet-systeem tabellen in de databasehet voorbeeld:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
    VAN MSysObjects
    WAAR MSysObjects.Type = 1 EN MSysObjects.Name niet als "MSys *"

  3. terug een lijst van alleen de niet-verborgen tabellen in de database door het uitvoeren van de query hieronder:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
    VAN MSysObjects
    WAAR MSysObjects.Type =1 EN MSysObjects.Flags & amp; lt; & amp; gt;8

  4. Sorteer de lijst van niet verborgen, niet-systeem tabellen met behulp van de SQL-code hieronder:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
    VAN MSysObjects
    WAARMSysObjects.Type = 1 EN MSysObjects.Flags & amp; lt; & amp; gt;8 EN MSysObjects.Name niet als "MSys *"
    ORDER BY MSysObjects.Name

Gebruik de Lijst van tabellen in VBA

  1. Laad je lijst met tabellen in een record set-object met behulp van de VBA-code hieronder:

    Dim rsMyTables Zoals DAO.Recordset
    Set rsMyTables = CurrentDb.OpenRecordset ("myQuery")

  2. Loop door middel van elke record terug in de query.

    Dim rsMyTables Zoals DAO.Recordset
    Set rsMyTables = CurrentDb.OpenRecordset ("myQuery")

    Do Terwijl Niet rsMyTables.EOF
    & amp; # 039;Code te manipuleren van gegevens

    rsMyTables.MoveNext
    Loop

  3. Zet elke naam tafel om een ​​keuzelijst met het aanpassen van uw while lus:

    Dim rsMyTables Zoals DAO.Recordset
    Set rsMyTables = CurrentDb.OpenRecordset ("myQuery")
    Me.cmbMyComboBox.Clear

    Do Terwijl Niet rsMyTables.EOF
    Me.cmbMyComboBox.AddItem rsMyTables! [naam]

    rsMyTables.MoveNext
    Loop

  4. Sluit je plaat set object, zodat het vrijkomen van het geheugen wordt gebruik:

    Dim rsMyTables Zoals DAO.Recordset
    Set rsMyTables = CurrentDb.OpenRecordset ("myQuery")
    Me.cmbMyComboBox.Clear

    Do Terwijl Niet rsMyTables.EOF
    Me.cmbMyComboBox.AddItem rsMyTables [naam]

    rsMyTables!.MoveNext
    Loop

    rsMyTables.Close
    Set rsMyTables = Niets

Resources

  • Alles Toegang: DDL Query Code Voorbeelden
151
0
1
Database Software