Tecnología

Inicio

Acceso: VBA ejecutar la consulta

Acceso: VBA ejecutar la consulta


Microsoft Access es una parte de la suite Microsoft Office. El uso de este software, puede crear bases de datos individuales, informes y formularios. El acceso le permite crear sus propias aplicaciones utilizando estos componentes. Para añadir aún más funcionalidad a sus aplicaciones o bases de datos, se puede programar tareas en Visual Basic para Aplicaciones (VBA). VBA es un lenguaje estándar de desarrollo de Microsoft para productos de Office. El lenguaje se basa fuera de Visual Basic 6.0 y utiliza una sintaxis similar. Una de las muchas cosas que puede hacer con este lenguaje es ejecutar consultas sobre sus datos.

Instrucciones

1 Ejecutar una consulta y poner sus resultados en un conjunto de registros para la manipulación. Copia y pega el código VBA a continuación para cargar los datos de la consulta.

Dim dbMyDatabase Como DAO.Database

rsMyRecords dévil como DAO.Recordset

Establecer dbMyDatabase = CurrentDb

Establecer rsMyRecords = dbMyDatabase.OpenRecordset ( "MyQuery")

2 Ejecutar una consulta con parámetros de entrada utilizando un objeto de definición de consulta y luego cargar sus resultados en un conjunto de registros utilizando el ejemplo de código siguiente.

Dim dbMyDatabase Como DAO.Database

rsMyRecords dévil como DAO.Recordset

qdMyParameters dévil como DAO.QueryDef

Establecer dbMyDatabase = CurrentDb

Set qdMyParameters = dbMyDatabase.QueryDefs ( "MyQuery")

qdMyParameters.Parameters ( "MyParameter") = "valor"

Establecer rsMyRecords = qdMyParameters.OpenRecordset ()

3 Recorrer cada registro devuelto y llevar a cabo una acción. El siguiente ejemplo es una manera de hacer esto.

Aunque no hacer rsMyRecords.EOF

Debug.Print "The contents of my column: " & rsMyRecords![MyColumnName]

rsMyRecords.MoveNext

Lazo

4 Ejecutar una consulta SQL en lugar de una consulta de Access llamada y poner sus resultados en un conjunto de registros para la manipulación. Copia y pega el código VBA a continuación.

Dim dbMyDatabase Como DAO.Database

rsMyRecords dévil como DAO.Recordset

Dim como secuencia strQuery

strQuery = "SELECT * FROM MyTable"

Establecer dbMyDatabase = CurrentDb

Establecer rsMyRecords = dbMyDatabase.OpenRecordset (strQuery)

5 Ejecutar un comando que no devuelve ningún registro utilizando el código VBA. Actualizar y eliminar comandos son ejemplos de declaraciones que no devuelven ningún registro.

CurrentDb.Execute "MyQueryName"

Consejos y advertencias

  • EOF significa "final del archivo", que en este caso significa que no hay más registros disponibles a través del bucle.
  • Asegúrese de liberar la memoria de sus conjuntos de registros mediante una llamada al comando "Cerrar".