Tecnología

Inicio

Cómo obtener acceso a la lista de VBA consulta las tablas de una base de datos

Cómo obtener acceso a la lista de VBA consulta las tablas de una base de datos


Microsoft Access es un sistema de gestión de base de datos para los individuos crear sus propias bases de datos, informes y formularios de usuario. Access contiene todos los elementos básicos para el desarrollo de pequeñas aplicaciones. Puede crear tablas de datos, procedimientos almacenados, funciones definidas por el usuario y macros, además de informes y formularios. Todos estos componentes tienen sus propios punteros o definiciones de registros almacenados en una tabla de sistema oculto. Acceso realiza un seguimiento de cada mesa, informe, la forma, etc. se crea y almacena información, como cuando fue creado o actualizado y los indicadores del sistema.

Instrucciones

Obtener una lista de las Tablas

1 Crear una consulta para ejecutar el comando SQL a continuación. Esta consulta recupera una lista de todas las tablas en la base de datos de acceso actual. La cláusula where usa el número 1 para indicar que sólo queremos las tablas devueltas.

SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DE MSysObjects
DONDE MSysObjects.Type = 1

2 Devolver una lista de sólo las tablas no son del sistema en la base de datos con el ejemplo dado:

SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DE MSysObjects
WHERE MSysObjects.Type = 1 Y MSysObjects.Name no me gusta "*" MSys

3 Devolver una lista de sólo las tablas no ocultos en la base de datos mediante la ejecución de la consulta a continuación:

SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DE MSysObjects
DONDE MSysObjects.Type = 1 Y MSysObjects.Flags & lt; & gt; 8

4 Ordenar la lista de tablas no oculta, no son del sistema utilizando el código SQL a continuación:

SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
DE MSysObjects
DONDE MSysObjects.Type = 1 Y MSysObjects.Flags & lt; & gt; 8 Y MSysObjects.Name no me gusta "MSys *"
ORDER BY MSysObjects.Name

Utilice la lista de tablas en VBA

5 Cargar su lista de tablas en un objeto de conjunto de registros utilizando el código VBA que se muestran a continuación:

rsMyTables dévil como DAO.Recordset
Establecer rsMyTables = CurrentDb.OpenRecordset ( "MyQuery")

6 Recorrer cada registro devuelto en la consulta.

rsMyTables dévil como DAO.Recordset
Establecer rsMyTables = CurrentDb.OpenRecordset ( "MyQuery")

Aunque no hacer rsMyTables.EOF
& # 039; El código para manipular los datos

rsMyTables.MoveNext
Lazo

7 Agregar cada nombre de tabla a una lista desplegable mediante la modificación de su bucle while:

rsMyTables dévil como DAO.Recordset
Establecer rsMyTables = CurrentDb.OpenRecordset ( "MyQuery")
Me.cmbMyComboBox.Clear

Aunque no hacer rsMyTables.EOF
Me.cmbMyComboBox.AddItem rsMyTables! [Nombre]

rsMyTables.MoveNext
Lazo

8 Cerrar el conjunto de registros de objeto por lo que libera la memoria que está utilizando:

rsMyTables dévil como DAO.Recordset
Establecer rsMyTables = CurrentDb.OpenRecordset ( "MyQuery")
Me.cmbMyComboBox.Clear

Aunque no hacer rsMyTables.EOF
Me.cmbMyComboBox.AddItem rsMyTables! [Nombre]

rsMyTables.MoveNext
Lazo

rsMyTables.Close
Set rsMyTables = Nada