Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Software Database >> .

Come ottenere l'accesso VBA query per elencare le tabelle di un database

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

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

 

software © www.354353.com