Microsoft Access é um sistema de gerenciamento de banco de dados para os indivíduos para criar seus bancos de dados próprios, relatórios e formulários do usuário. Acesso contém todos os blocos de construção para o desenvolvimento de pequenas aplicações. Você pode criar tabelas de dados, procedimentos armazenados, funções definidas pelo usuário e macros, além de relatórios e formulários. Todos estes componentes têm os seus próprios ponteiros ou definições de registro armazenadas em uma tabela de sistema oculta. Acesso mantém o controle de cada tabela, relatório, forma, etc. você cria e armazena informações, como quando foi criado ou atualizado e bandeiras do sistema.
Obtendo uma lista de tabelas
Crie uma consulta para executar o comando SQL abaixo. Esta consulta recupera uma lista de todas as tabelas no banco de dados Access atual. A cláusula onde usa o número 1 para indicar que nós queremos apenas as tabelas retornado.
SELECIONE MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DE MSysObjects
ONDE MSysObjects.Type = 1Retornar uma lista de apenas as tabelas não são do sistema no banco de dados com o exemplo dado:
SELECIONE MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DE MSysObjects
ONDE MSysObjects.Type = 1 AND MSysObjects.Name não gosto "MSys *"Retornar uma lista de apenas as tabelas não-escondidos no banco de dados executando a consulta a seguir:
SELECIONE MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DE MSysObjects
ONDE MSysObjects.Type = 1 AND MSysObjects.Flags <> 8Ordenar a lista de tabelas não ocultos, não são do sistema usando o código SQL a seguir:
SELECIONE MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DE MSysObjects
ONDE MSysObjects.Type = 1 AND MSysObjects.Flags <> 8 e MSysObjects.Name não gosto "MSys *"
ORDER BY MSysObjects.Name
Use a lista de tabelas no VBA
Carregue a sua lista de tabelas em um objeto conjunto de registros usando o código VBA mostrados abaixo:
rsMyTables Dim DAO.Recordset
Definir rsMyTables = CurrentDb.OpenRecordset ( "MyQuery")Percorrer cada registro retornado na consulta.
rsMyTables Dim DAO.Recordset
Definir rsMyTables = CurrentDb.OpenRecordset ( "MyQuery")Do While Not rsMyTables.EOF
`Código para manipular dadosrsMyTables.MoveNext
laçoAdicione o nome de cada tabela para uma lista drop-down, modificando o seu loop while:
rsMyTables Dim DAO.Recordset
Definir rsMyTables = CurrentDb.OpenRecordset ( "MyQuery")
Me.cmbMyComboBox.ClearDo While Not rsMyTables.EOF
Me.cmbMyComboBox.AddItem rsMyTables! [Name]rsMyTables.MoveNext
laçoFeche o objeto conjunto de registros para que ele libera a memória que está usando:
rsMyTables Dim DAO.Recordset
Definir rsMyTables = CurrentDb.OpenRecordset ( "MyQuery")
Me.cmbMyComboBox.ClearDo While Not rsMyTables.EOF
Me.cmbMyComboBox.AddItem rsMyTables! [Name]rsMyTables.MoveNext
laçorsMyTables.Close
Definir rsMyTables = Nothing