Microsoft Access è un sistema di gestione di database per gli individui per creare le proprie basi di dati , report e moduli utente. Access contiene tutti gli elementi fondamentali per lo sviluppo di piccole applicazioni . È possibile creare tabelle per i dati , stored procedure, funzioni definite dall'utente e le macro , oltre alle relazioni e le forme . Tutti questi componenti hanno i loro puntatori o definizioni di record memorizzati in una tabella di sistema nascosto . Accesso tiene traccia di ogni tabella , relazione , forma , ecc si crea e memorizza le informazioni come ad esempio quando è stata creata o aggiornata e flag di sistema .
Istruzioni Come ottenere un elenco di tabelle
1
creare una query per eseguire il comando SQL di seguito . Questa query recupera un elenco di tutte le tabelle del database di Access corrente. La clausola WHERE utilizza il numero 1 per indicare che vogliamo solo le tabelle restituite.
SELEZIONA MSysObjects.Name , MSysObjects.DateCreate , MSysObjects.DateUpdate , MSysObjects.Type , MSysObjects.Flags
MSysObjects
DOVE MSysObjects.Type = 1
2
Restituisce una lista di solo le tabelle non di sistema del database con l'esempio fornito :
Seleziona MSysObjects . nome , MSysObjects.DateCreate , MSysObjects.DateUpdate , MSysObjects.Type , MSysObjects.Flags
DA MSysObjects
DOVE MSysObjects.Type = 1 AND MSysObjects.Name Not Like " MSys * "
3
Restituisce una lista di solo le tabelle non nascosti nel database eseguendo la query di seguito :
SELEZIONA MSysObjects.Name , MSysObjects.DateCreate , MSysObjects.DateUpdate , MSysObjects . tipo , MSysObjects.Flags
DA MSysObjects
DOVE MSysObjects.Type = 1 AND MSysObjects.Flags < > 8
4
ordinare l'elenco dei non- , tavoli nascosti non di sistema utilizzando il codice SQL di seguito :
SELEZIONA MSysObjects.Name , MSysObjects.DateCreate , MSysObjects.DateUpdate , MSysObjects.Type , MSysObjects.Flags
DA MSysObjects
< p > DOVE MSysObjects.Type = 1 AND MSysObjects.Flags < > 8 E MSysObjects.Name Not Like " MSys * "
ORDER BY MSysObjects.Name
utilizzare l'elenco delle tabelle in VBA
5
Caricare la lista delle tabelle in un oggetto set di record utilizzando il codice VBA riportato di seguito :
Dim rsMyTables As DAO.Recordset
rsMyTables = CurrentDb.OpenRecordset ( " myQuery " ) economici 6
loop attraverso ogni record restituito nella query .
Dim rsMyTables As DAO.Recordset
rsMyTables = CurrentDb.OpenRecordset ( " myQuery " ) per
Do While Not rsMyTables.EOF
'Codice di manipolare i dati
rsMyTables.MoveNext
loop
Pagina 7
Aggiungi ogni nome di tabella per un elenco a discesa , modificando il vostro ciclo while :
Dim rsMyTables As DAO.Recordset
rsMyTables = CurrentDb.OpenRecordset ( " myQuery " ) per
Me.cmbMyComboBox.Clear
Do While Not rsMyTables.EOF
rsMyTables Me.cmbMyComboBox.AddItem ! [Nome ]
rsMyTables.MoveNext
loop
8
Chiudi l' oggetto set di record in modo che rilascia la memoria si sta usando :
Dim rsMyTables As DAO.Recordset
rsMyTables = CurrentDb.OpenRecordset ( " myQuery " ) per
Me.cmbMyComboBox.Clear
Do While Not rsMyTables.EOF
rsMyTables Me.cmbMyComboBox.AddItem ! [ Nome]
rsMyTables.MoveNext
loop
rsMyTables.Close
rsMyTables = Nothing