Innhold
Microsoft Access er et databasebehandlingssystem som lar brukerne lage egne databaser, rapporter og skjemaer. Tilgang inneholder alle byggeklosser for liten applikasjonsutvikling. Du kan opprette datatabeller, lagrede prosedyrer, funksjoner og makroer, samt skjemaer og rapporter. Alle disse komponentene har sine egne pekere eller rekorddefinisjoner lagret i et skjult systembord. Tilgang holder register over hver tabell, rapport, skjema etc. som du oppretter og lagrer også data som datoen den ble opprettet eller oppdatert og systemflagger.
retninger
Få tilgang til databasestrukturinformasjon i MSysObjects-tabellen (data lagringsbilde av Kir fra Fotolia.com)-
Lag en spørring som kjører SQL-kommandoen nedenfor. Denne spørringen viser en liste over alle tabellene i den nåværende Access-databasen. "Hvor" -klausulen ved hjelp av tallet 1, tjener til å indikere at vi bare vil ha tabellene sitert.
SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags fra MSysObjects WHERE MSysObjects.Type = 1
-
Returner ikke-systematisk tabellforespørsel i databasen, med eksemplet nedenfor:
SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags fra MSysObjects WHERE MSysObjects.Type = 1 OG MSysObjects.Name Ikke som "MSys *";
-
Skriv inn listen over de skjulte databasetabellene ved å kjøre spørringen 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 hjelp av 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"; BESTILLE AV MSysObjects.Name
Få en liste over tabeller
-
Legg inn listen over tabeller i et arkivobjekt, ved hjelp av VBA-koden nedenfor:
Dim rsMyTables Som DAO.Recordset Angi rsMyTables = CurrentDb.OpenRecordset ("MyQuery")
-
Bla gjennom hver post av det ferdige spørsmålet.
Dim rsMyTables Som DAO.Recordset Angi rsMyTables = CurrentDb.OpenRecordset ("MyQuery")
Gjør mens ikke rsMyTables.EOF 'Kode for å manipulere data
rsMyTables.MoveNext Loop
-
Legg til et navn på hvert bord for en liste ved å endre sin sløyfe:
Dim rsMyTables Som DAO.Recordset Angi rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear
Gjør mens ikke rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Navn]
rsMyTables.MoveNext Loop
-
Lukk registreringsobjektet for å frigjøre minnet det bruker:
Dim rsMyTables Som DAO.Recordset Angi rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear
Gjør mens ikke rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Navn]
rsMyTables.MoveNext Loop
rsMyTables.Close Set rsMyTables = Ingenting
Bruk listen over tabeller i VBA
tips
- Makroer som er laget i Visual Basic for Applications (VBA), som er et Microsoft Office Standard programmeringsspråk.
- Du kan liste noen av disse objektene i Tilgang ved å endre "MSysObject.Type" -filteret. Alternativene for denne verdien er oppført nedenfor:
- Tabell = 1
- Forespørsel = 5
- Koblet tabell = 4, 6 eller 8
- Form = -32768
- Rapport = -32764
- Modul = -32761