Nwlapcug.com


Come ottenere Query di Access VBA per elencare le tabelle in un Database

Come ottenere Query di Access VBA per elencare le tabelle in un Database


Microsoft Access è un sistema di gestione di database per gli individui creare il proprio database, report e moduli utente. Accesso contiene tutti i blocchi di costruzione per lo sviluppo di piccole applicazioni. È possibile creare tabelle di dati, stored procedure, funzioni definite dall'utente e macro oltre a maschere e report. Tutti questi componenti dispongono di puntatori o definizioni record memorizzate in una tabella di sistema nascosta. Accesso tiene traccia di ogni tabella, report, modulo, ecc che si crea e memorizza le informazioni come quando esso è stato creato o aggiornato e flag di sistema.

Istruzioni

Come ottenere un elenco delle tabelle

1

Creare una query per eseguire il comando SQL sottostante. Questa query recupera un elenco di tutte le tabelle nel database di Access corrente. Where clausola utilizza il numero 1 per indicare che vogliamo solo le tabelle restituite.

Selezionare MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DA MSysObjects
DOVE MSysObjects.Type = 1

2

Restituire un elenco delle tabelle di sistema non solo nel database con l'esempio fornito:

Selezionare MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DA MSysObjects
DOVE MSysObjects.Type = 1 e MSysObjects.Name non come "MSys *"

3

Restituire un elenco di solo le tabelle non nascosti nel database eseguendo la query riportata di seguito:

Selezionare MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DA MSysObjects
DOVE MSysObjects.Type = 1 & MSysObjects.Flags & gt; & lt; 8

4

Ordinare l'elenco di tabelle non nascosti, non di sistema utilizzando il codice SQL riportato di seguito:

Selezionare MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DA MSysObjects
DOVE MSysObjects.Type = 1 & MSysObjects.Flags & gt; & lt; 8 e MSysObjects.Name non come "MSys *"
ORDINE di MSysObjects.Name

Utilizzare l'elenco delle tabelle in VBA

5

Caricare il tuo elenco di tabelle in un oggetto set di record utilizzando il codice VBA riportato di seguito:

Dim rsMyTables As DAO. Recordset
Impostare rsMyTables = CurrentDb.OpenRecordset("MyQuery")

6

Scorrere in ciclo ogni record restituito nella query.

Dim rsMyTables As DAO. Recordset
Impostare rsMyTables = CurrentDb.OpenRecordset("MyQuery")

While Not rsMyTables.EOF
' Codice per manipolare i dati

rsMyTables.MoveNext
Loop

7

Aggiungere ogni nome di tabella in un elenco a discesa modificando il vostro istante ciclo:

Dim rsMyTables As DAO. Recordset
Impostare rsMyTables = CurrentDb.OpenRecordset("MyQuery")
Me.cmbMyComboBox.Clear

While Not rsMyTables.EOF
Me.cmbMyComboBox.AddItem rsMyTables! [Nome]

rsMyTables.MoveNext
Loop

8

Nelle vicinanze il tuo record imposta oggetto quindi rilascia la memoria che sta utilizzando:

Dim rsMyTables As DAO. Recordset
Impostare rsMyTables = CurrentDb.OpenRecordset("MyQuery")
Me.cmbMyComboBox.Clear

While Not rsMyTables.EOF
Me.cmbMyComboBox.AddItem rsMyTables! [Nome]

rsMyTables.MoveNext
Loop

rsMyTables.Close
Impostare rsMyTables = Nothing