Indhold
Microsoft Access er et databasehåndteringssystem, der giver brugerne mulighed for at oprette deres egne databaser, rapporter og formularer. Adgang indeholder alle byggesten til små applikationsudvikling. Du kan oprette datatabeller, lagrede procedurer, funktioner og makroer samt formularer og rapporter. Alle disse komponenter har deres egne pointers eller record definitioner gemt i et skjult system bord. Adgang holder registreringer af hver tabel, rapport, formular mm som du opretter og også gemmer data som datoen den blev oprettet eller opdateret og systemflagger.
retninger
Adgang gemmer databasestrukturoplysninger i MSysObjects-tabellen (data lagringsbillede af Kir fra Fotolia.com)-
Opret en forespørgsel, der kører SQL-kommandoen nedenfor. Denne forespørgsel viser en liste over alle tabeller i den nuværende Access-database. "Hvor" -klausulen ved hjælp af nummer 1 tjener til at angive, at vi kun vil have de noterede tabeller.
SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags FRA MSysObjects WHERE MSysObjects.Type = 1
-
Returner den ikke-systematiske tabel forespørgsel i databasen med nedenstående eksempel:
SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags FRA MSysObjects WHERE MSysObjects.Type = 1 OG MSysObjects.Name Ikke som "MSys *";
-
Indtast listen over de skjulte databasetabeller ved at køre spørgsmålet nedenfor:
SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags FRA MSysObjects WHERE MSysObjects.Type = 1 OG MSysObjects.Flags <> 8
-
Sorter listen over ikke-skjulte, ikke-systematiske tabeller ved hjælp af følgende SQL-kode:
SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags FRA MSysObjects WHERE MSysObjects.Type = 1 OG MSysObjects.Flags <> 8 OG MSysObjects.Name Ikke som "MSys"; BESTIL AF MSysObjects.Name
Få en liste over tabeller
-
Indlæs din liste over tabeller i en postobjekt, ved hjælp af VBA-koden nedenfor:
Dim rsMyTables Som DAO.Recordset Indstil rsMyTables = CurrentDb.OpenRecordset ("MyQuery")
-
Rul gennem hver post af det udfyldte forespørgsel.
Dim rsMyTables Som DAO.Recordset Indstil rsMyTables = CurrentDb.OpenRecordset ("MyQuery")
Gør ikke rsMyTables.EOF 'Kode til at manipulere data
rsMyTables.MoveNext Loop
-
Tilføj et navn til hver tabel for en liste ved at ændre sin sløjfe:
Dim rsMyTables Som DAO.Recordset Indstil rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear
Gør mens ikke rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Navn]
rsMyTables.MoveNext Loop
-
Luk dit registreringsobjekt for at frigøre den hukommelse, den bruger:
Dim rsMyTables Som DAO.Recordset Indstil rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear
Gør mens ikke rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Navn]
rsMyTables.MoveNext Loop
rsMyTables.Close Set rsMyTables = Intet
Brug listen over tabeller i VBA
tips
- Makroer, der er lavet i Visual Basic for Applications (VBA), som er et Microsoft Office Standard programmeringssprog.
- Du kan liste ethvert af disse objekter i Access ved at ændre filteret "MSysObject.Type". Indstillingerne for denne værdi er angivet nedenfor:
- Tabel = 1
- Forespørgsel = 5
- Linked Table = 4, 6 eller 8
- Form = -32768
- Rapport = -32764
- Modul = -32761