Microsoft Access är en databashanterare för individer att skapa sina egna databaser , rapporter och blanketter användare . Åtkomst innehåller alla byggstenar för att utveckla små applikationer . Du kan skapa tabeller för data, lagrade procedurer , användardefinierade funktioner och makron förutom rapporter och formulär . Alla dessa komponenter har sina egna pekare eller definitioner rekord lagrats i en dold systemet bord . Åtkomst håller reda på varje bord , rapport , formulär , etc. du skapar och lagrar information som när den skapades eller uppdaterades och flaggor systemet . Instruktioner
få en lista med tabeller
1
skapa en fråga för att köra SQL- kommandot nedan . Den här frågan hämtar en lista över alla tabeller i den aktuella Access-databasen . Den där klausulen använder siffran 1 för att indikera att vi bara är intresserad av borden tillbaka .
SELECT MSysObjects.Name , MSysObjects.DateCreate , MSysObjects.DateUpdate , MSysObjects.Type , MSysObjects.Flags
FRÅN MSysObjects
VAR MSysObjects.Type = 1
2
returnera en lista med bara de icke - systemets tabeller i databasen med det som exempel :
VÄLJ MSysObjects . namn , MSysObjects.DateCreate , MSysObjects.DateUpdate , MSysObjects.Type , MSysObjects.Flags
FRÅN MSysObjects
VAR MSysObjects.Type = 1 OCH MSysObjects.Name Inte Gilla " MSYS * "
3
returnera en lista med bara de icke - dolda tabeller i databasen genom att köra frågan nedan :
SELECT MSysObjects.Name , MSysObjects.DateCreate , MSysObjects.DateUpdate , MSysObjects . typ , MSysObjects.Flags
FRÅN MSysObjects
VAR MSysObjects.Type = 1 OCH MSysObjects.Flags < > 8
4
sortera listan över icke - dolda , icke - system tabeller med SQL -koden nedan :
SELECT MSysObjects.Name , MSysObjects.DateCreate , MSysObjects.DateUpdate , MSysObjects.Type , MSysObjects.Flags
FRÅN MSysObjects
där MSysObjects.Type = 1 OCH MSysObjects.Flags < > 8 och MSysObjects.Name Inte Gilla " MSYS * "
ORDER BY MSysObjects.Name
Använd listan av tabellerna i VBA
5
Ladda din lista över tabeller i en post set objekt med VBA -kod som visas nedan :
Dim rsMyTables As DAO.Recordset
set rsMyTables = CurrentDb.OpenRecordset ( " MyQuery " )
6
Loop genom varje post returneras i frågan .
Dim rsMyTables As DAO.Recordset
rsMyTables
set = CurrentDb.OpenRecordset ( " MyQuery " ) katalog
Do While Not rsMyTables.EOF
" kod för att manipulera data
rsMyTables.MoveNext
Loop
7
Lägg varje bord namn till en drop -down- listan genom att ändra din while loop :
Dim rsMyTables As DAO.Recordset
rsMyTables
Set = CurrentDb.OpenRecordset ( " MyQuery " ) katalog
Me.cmbMyComboBox.Clear
Do While Not rsMyTables.EOF
Me.cmbMyComboBox.AddItem rsMyTables ! [ Name ]
rsMyTables.MoveNext
Loop
8
Stäng objektet rekord set så det släpper minnet den använder :
Dim rsMyTables As DAO.Recordset
set rsMyTables = CurrentDb.OpenRecordset ( " MyQuery " ) katalog
Me.cmbMyComboBox.Clear
Do While Not rsMyTables.EOF
Me.cmbMyComboBox.AddItem rsMyTables ! [ Name ]
rsMyTables.MoveNext
Loop
rsMyTables.Close
Set rsMyTables = Nothing