Cómo ejecutar código VBA en Access 2007/2010/2013/2016/2019

Sin lugar a dudas, la creación de una base de datos en Access con varios objetos como informes, formularios y tablas es bastante fácil. Pero cuando se trata de agregar algo de programación para la ejecución simultánea de objetos de base de datos o para automatizar ciertos procesos. Entonces esta puede ser una tarea desalentadora para realizar … ¿no es así?

Principalmente para aquellos que no tienen mucho conocimiento de la codificación de programas. si también está entre ellos, esta publicación seguramente lo ayudará con mucha más información sobre la ejecución del código VBA en Access.

Comprenda el código VBA de MS Access con el ejemplo:

Comprenda el código VBA de MS Access con el ejemplo

En MS Access, la programación es la forma en que podemos agregar funcionalidad a nuestra base de datos. básicamente se hace de dos maneras:

  • mediante el uso de Access macros
  • o código de Visual Basic para Aplicaciones (VBA)

Supongamos, por ejemplo, que ha realizado un informe o formulario en su base de datos de Access. ahora desea agregar un botón de comando en ese formulario. De modo que cuando se hace clic, se abrirá automáticamente el informe.

En ese caso, la programación se utiliza para crear una macro o procedimiento VBA para configurar la propiedad del evento OnClick del botón de comando. Cuando hace clic en el botón de comando, la macro y el procedimiento se ejecutarán automáticamente en segundo plano. Por lo tanto, al hacer clic en el formulario del botón de comando del formulario se abrirá el informe.

Entonces, todo lo que puede decir, el código VBA en Access le permite agregar automatización y varias funcionalidades a su aplicación de base de datos de Access.

¿Qué es el editor de VBA?

¿Qué es el editor de VBA

  • Bueno, para la programación en Access usamos el editor VBA. Para iniciar el editor de VBA, primero debe ir a la opción de crear.
  • Luego, toque el botón del módulo en la ventana de su base de datos.
  • Esto abrirá el editor de VBA.

Como puede ver en la figura, hay varias partes en este editor de VBA. Entonces, analicemos cada sección en detalle:

  • la esquina superior izquierda se llama Ventana de proyecto. Contiene una lista de todos los elementos y módulos definidos en la base de datos.
  • debajo de la ventana del proyecto, hay una ventana de propiedades. En esto, puede especificar diferentes atributos para los objetos que ha utilizado en la ventana del proyecto.
  • En la parte inferior de la pantalla, hay una ventana inmediata. Aquí puede probar las partes de su procedimiento mientras desarrolla. Aparte de eso, también se puede usar para obtener el resultado inmediato de varios comandos. La ventana inmediata es muy útil durante las pruebas y el procedimiento de depuración.

Beneficios de usar código VBA en Access:

Beneficios de usar código VBA en Access

Aquí hay algunas razones básicas por las que necesita usar las áreas de código de MS Access VBA a continuación.

  1. Gestionar procedimientos reutilizables más pequeños (globalmente)
  2. Cree sus propias funciones definidas
  3. en memoria mantener variables (globalmente)
  4. Adjunte código a un evento, es decir, un botón en un formulario
  5. Administre procedimientos más potentes de los que carece una macro de Access
  6. Termine fácilmente con otras aplicaciones y plataformas
  7. manejar de manera inteligente los errores de tiempo de ejecución de Access

Para aprender el código de Access VBA, no necesita ser un programador. El factor importante para programar con éxito con Access VBA es qué tan bien conoce la estructura de MS Access, a menudo denominada tablas, consultas, formularios, informes y macros. Es una característica muy poderosa de Access para identificar dónde VBA debe superar y mejorar la funcionalidad.

Cómo ejecutar código VBA en MS Access

Cómo ejecutar código VBA en MS Access

Código VBA para ejecutar una consulta en MS Access

¿Busca el código VBA para ejecutar la consulta en MS Access? Si es así, consulte los pasos completos para realizar esta tarea.

Puede usar la sintaxis de VBA para ejecutar consultas en MS Access.

DoCmd.OpenQuery “Nombre de consulta”

Tenga en cuenta que “nombre de consulta” no debe mantenerse entre corchetes “[]”.

Pasos para crear un VBA para ejecutar una consulta en MS Access

Supongamos que tiene una base de datos de Access que contiene una consulta llamada “max_sales”.

Entonces, aquí está el paso completo que debe seguir para crear un VBA para ejecutar la consulta “max_sales”:

Paso 1: agregar un formulario de Access

En primer lugar, abra su aplicación de acceso MS, luego agregue un Formulario de Access.

Código VBA para ejecutar una consulta en MS Access 1

Para agregar un formulario, debe ir a la pestaña de crear, luego toque el icono del formulario presentado sobre la cinta de MS Access:

Paso 2: coloca un botón

En el siguiente paso, debe poner un botón en el formulario. Para esta tarea, haga clic en el “icono de botón” presente en la cinta de acceso. Después de esa posición, presione ese botón en su formulario.

Código VBA para ejecutar una consulta en MS Access 2

Notará que después de colocar el botón en el formulario de Acceso, aparecerá el Asistente del botón de comando en su pantalla. Si no necesita este Asistente para botones de comando, puede presionar el botón Cancelar.

Paso 3: abra la pantalla VBA

Para escribir el código VBA para el botón, debe abrir la pantalla del editor VBA. Haga clic con el botón derecho en el botón y luego elija la opción ‘Crear evento …‘.

Código VBA para ejecutar una consulta en MS Access 3

Luego, elija la opción Generador de código y toque la opción Aceptar:

Código VBA para ejecutar una consulta en MS Access 4

Paso 4: escriba el VBA para ejecutar la consulta

Es hora de escribir el código VBA para ejecutar la consulta.

Consulte el código completo de VBA como se muestra en el siguiente ejemplo (donde “max_sales” es el nombre de la consulta):

Private Sub Command0_Click() 

DoCmd.OpenQuery “max_sales” 

End Sub

Así es como aparecerá VBA en Access:

Código VBA para ejecutar una consulta en MS Access 5

Paso 5: ver los resultados

Después de descartar estos códigos VBA, es hora de guardar su trabajo. Ahora regrese a su formulario de Acceso y cambie a la vista de formulario.

Para cambiar fácilmente a la vista de formulario, haga clic en el icono de vista presente en la pestaña de diseño. Ahora de la lista desplegable, elija la vista de formulario.

Código VBA para ejecutar una consulta en MS Access 6

Por último, toque el botón para ejecutar la consulta “max_sales”. Ahora puede ejecutar una consulta con el código VBA simplemente tocando el botón.

Código VBA para ejecutar una consulta en MS Access 7

Código de VBA para ejecutar el informe en Access

Código de VBA para ejecutar el informe en Access

El método DoCmd.OpenReport se utiliza para abrir el informe. Puede usar este método DoCmd.OpenReport para abrir el informe en la vista de diseño, Imprimir informe, Ver informe, Vista previa de impresión, Vista de diseño.

Aquí está la sintaxis que debe usar:

DoCmd.OpenReport (ReportName, View, Filter, WhereCondition, DataMode, WindowMode, OpenArgs)

Descripción de la sintaxis anterior:

– Reportar nombre:

Indica el nombre del informe en la base de datos actual. Necesita argumentos y debe escribirse entre comillas dobles.

– Ver:

Algunos tipos comunes de vista de informes, como acViewNormal, acViewPreview, acViewLayout, acViewDesign, etc.

Puede seleccionar cualquiera de estos tipos para especificar su informe cuando se abra.

También te puede interesar:

3 Rápido Formas De Crear Macro En MS Access 2010/2013/2016/2019 Base De Datos

– Filtro:

Es un nombre de consulta que está presente en la base de datos actual. entonces, configúrelo entre comillas dobles.

– Donde Condición:

En este lugar, la cláusula SQL se usa sin la palabra WHERE. Por lo tanto, debe mantenerlo entre comillas dobles.

– Modo de datos:

en este argumento, debe especificar el modo de entrada de datos para su informe. bueno, el modo puede ser el modo de edición o simplemente el modo de lectura.

– Modo ventana:

Cuando se abre un informe, especifique el modo de ventana.

Además de eso, puede abrir el informe en el siguiente modo: acDialog, acHidden, acIcon o acWindowNormal.

+ acDialog: el informe abierto es fijo y no se puede mover.

+ acHidden: en este modo, el informe abierto está oculto.

+ acIcon: el informe abierto aparece como un icono.

+ acWindowNormal: en este modo, el informe abierto aparece como el informe de vista.

– OpenArgs:

Con este argumento, debe especificar el registro cuando se abre el informe.

Y debes mantenerlo entre comillas dobles.

Observación:

Todos los argumentos mencionados anteriormente en la sintaxis DoCmd.OpenReport son opcionales, excluyendo el argumento ReportName.

supongamos que tiene un formulario como este:

Si está abriendo un formulario por primera vez, el registro actual es Cate001. Para imprimir esta categoría, toque el botón Imprimir informe. Mostrará el informe Cate001 junto con los productos que contiene.

Para imprimir el registro Cate002, primero debe cambiar a este registro. Luego, toque el botón Imprimir informe.

Pero si necesita imprimir Cate003, Cate004, Cate005, etc. Luego debe crear un informe detallado maestro como se muestra en la figura:

Después de eso, debe aplicar el código VBA en el procedimiento de evento CmdPrint_Click, de esta manera:

Private Sub CmdPrint_Click()
DoCmd.OpenReport “RptProductByCategory” _
, acViewReport, , “CategoryID='” & txtCategoryID & “‘”
End Sub

Para llamar al informe desde VBA, intente con el siguiente código de VBA:

Sub runReport()

    Dim con As ADODB.Connection

     Set con = New ADODB.Connection

     con.Open “Provider=Microsoft.Jet.OLEDB.4.0;” & _

       “Data Source=C:\mydb.mdb;”

     DoCmd.OpenReport “rptCustomer”, acViewPreview

End Sub

Código MS Access VBA para abrir otra base de datos

Código MS Access VBA para abrir otra base de datos

¿Sabe que puede iniciar otra base de datos desde la base de datos actual? Bueno, esto se puede hacer de tres maneras diferentes. ¡Así que échale un vistazo …!

  • Método FollowHyperlink
  • Cáscara
  • Automatización de acceso

Método 1: Método FollowHyperlink

FollowHyperlink es un método nativo de la base de datos de Access y el usuario puede abrir cualquier tipo de archivo utilizando el programa predeterminado asociado con él.

Como es un comando nativo de MS Access, no puede utilizarlo para otros programas como (Word, Excel, PowerPoint …).

Public Function OpenDb3(sDb As String)  

 On Error GoTo Error_Handler    

Application.FollowHyperlink sDb Error_Handler_Exit: 

   On Error Resume Next  

 Exit Function Error_Handler:   

MsgBox “The following error has occurred” & vbCrLf & vbCrLf & _         

 “Error Number: ” & Err.Number & vbCrLf & _         

 “Error Source: OpenDb3” & vbCrLf & _        

   “Error Description: ” & Err.Description & _         

  Switch(Erl = 0, “”, Erl <> 0, vbCrLf & “Line No: ” & Erl) _       

    , vbOKOnly + vbCritical, “An Error has Occurred!”  

 Resume Error_Handler_Exit

End Function

Método 2: Cáscara

Shell es un comando universal que se puede utilizar para realizar muchas tareas. Además de tener una larga lista de capacidades, también se usa para iniciar programas y para abrir archivos. Debe asignar el archivo .exe después de lo que reconoce cada uno de los interruptores de línea de comando por cada uno de los archivos exe individuales.

Dado que MS Office está bien registrado, es parte de la variable de ruta. Por lo tanto, no necesita dar la ruta para el archivo msaccess.exe, solo proporcione el archivo o la ruta para abrirse.

Si tiene varias versiones de MS Office instaladas en su PC y necesita usar una específica. entonces, en ese caso, debe incluir la ruta / archivo de la base de datos ejecutable de Access.

Public Function OpenDb2(sDb As String)

    On Error GoTo Error_Handler

     Shell “cmd /c ” & Chr(34) & sDb & Chr(34), vbHide Error_Handler_Exit:  

 On Error Resume Next  

 Exit Function Error_Handler:  

  MsgBox “The following error has occurred” & vbCrLf & vbCrLf & _       

    “Error Number: ” & Err.Number & vbCrLf & _      

     “Error Source: OpenDb2” & vbCrLf & _        

   “Error Description: ” & Err.Description & _     

      Switch(Erl = 0, “”, Erl <> 0, vbCrLf & “Line No: ” & Erl) _

    , vbOKOnly + vbCritical, “An Error has Occurred!”  

 Resume Error_Handler_Exit

End Function

Método 3: Access automatización

Access Automation es la excelente opción para realizar cualquier acción que desee y, obviamente, también abrir la base de datos.

Public Function OpenDb(sDb As String)  

 On Error GoTo Error_Handler   

‘Unión temprana

‘Use la siguiente línea si se usa en Access o usa la referencia de Access

‘Proporciona inteligencia!

 Dim oAccess               As Access.Application   

  ‘Late binding  

‘Use la siguiente línea si se usa fuera de Access sin una referencia de Access’

Dim oAccess        As Object  

   Set oAccess = CreateObject(“Access.Application”)    ‘Create a new Access instance  

 With oAccess      

  .OpenCurrentDatabase sDb    ‘Open the specified db     

   .Visible = True             ‘Ensure it is visible to the end-user       

.UserControl = True‘    

    .DoCmd.OpenForm “YourFormName”   ‘Open a form?’     

   .DoCmd.RunMacro “YourMacroName”  ‘Run a Macro?    

End With 

Error_Handler_Exit: 

 On Error Resume Next 

   If Not oAccess Is Nothing Then Set oAccess = Nothing  

 Exit Function 

Error_Handler: 

   MsgBox “The following error has occurred” & vbCrLf & vbCrLf & _     

      “Error Number: ” & Err.Number & vbCrLf & _      

     “Error Source: OpenDb” & vbCrLf & _     

      “Error Description: ” & Err.Description & _       

    Switch(Erl = 0, “”, Erl <> 0, vbCrLf & “Line No: ” & Erl) _       

    , vbOKOnly + vbCritical, “An Error has Occurred!”  

 Resume Error_Handler_Exit

End Function

Automatice el Access desde otra aplicación de MS Office usando VBA

Automatice el Access desde otra aplicación de MS Office usando VBA

Biblioteca de objetos de Access VBA

Para automatizar el acceso desde otra aplicación de MS Office usando VBA. O si necesita utilizar objetos de otras aplicaciones como Microsoft Excel o Word en Access. Para hacer posibles tales tareas, agregue referencias de biblioteca de objetos. Básicamente, hay dos opciones para realizar esta tarea:

  1. temprana encuadernación
  2. tardío encuadernación

El primer método se usa para agregar referencias a la Biblioteca de objetos de Microsoft Access, justo antes de la ejecución. Se ejecuta más rápido y obtendrá fácil acceso al editor VBA intellisense.

Aparte de esto, hay posibilidades de tener problemas de compatibilidad al ejecutar un programa de PC con una versión diferente de la biblioteca instalada.

Método 1: temprana encuadernación

En este método específico, debe agregar una referencia al objeto de Microsoft Access.

  1. Vaya a la ventana del editor VBA y toque el botón “Herramientas” presente en la barra de menú.
  2. Ahora de la lista desplegable, elija la opción “Referencias”.
  3. Después, aparecerá el cuadro de diálogo “Referencias – Proyecto 1”.
  4. En este cuadro de diálogo, puede arrastrar la barra de desplazamiento hasta que obtenga lo que desea como “Biblioteca de objetos Microsoft Access14.0”.
  5. Ahora ponga una marca en la casilla de verificación presente delante de este objeto.
  6. Por último, toque la opción “Aceptar”.
  7. Después de este paso, ha agregado correctamente la referencia de la biblioteca de objetos de Access.

Tener una mirada:

Cómo solucionar problemas “Base de datos Access Formarse de apertura en Blanco”¿Problema?

Bueno, puede hacer uso de los pasos anteriores para agregar bibliotecas de objetos según sus requisitos.

Nota:

Use el siguiente código para definir un objeto Access.Application e iniciarlo:

Dim objAccess As Access.Application
set objAccess = new Access.Application

Método 2: enlace tardío

Este método no requiere ninguna adición de referencia a la biblioteca de objetos. El objeto Access.Application se declara como un objeto normal y se inicia como se muestra aquí:

Dim objAccess As Object
Set objAccess = CreateObject(“Access.Application”)

Cómo conectar Access y Excel a través de VBA:

Cómo conectar Access y Excel a través de VBA

En esta sección discutiremos sobre cómo conectar la base de datos de Access con Excel haciendo uso del código VBA.

Aquí es cómo puede configurar la conexión con la base de datos de Access. La cadena de conexión utilizada para Access 2003 (*. Mdb) y Access 2007/2010 (* .accdb) es diferente porque ambas versiones de la base de datos tienen controladores diferentes.

Para la base de datos Access 2003, el proveedor es: Proveedor = Microsoft.Jet.OLEDB.4.0.

Para Access 2007/2010, el proveedor es Provider = Microsoft.ACE.OLEDB.12.0

Antes de ejecutar el código mencionado a continuación, debe agregar referencias para ADO DB Connection.

Siga estos pasos para agregar referencia:

Cómo agregar referencias en excel

  1. Abra la pantalla del editor de VB presionando Alt + F11
  2. Herramientas -> Referencias …
  3. En la Lista de referencias disponibles, busque la “Biblioteca Microsoft ActiveX Data Objects 2.0”. Elija la versión 2.0 o cualquier otra referencia de versión superior.
  4. Toque la opción OK.

Conexión con la base de datos de Access 2003

Sub ADO_Conn() 

Dim conn As New Connection

Dim rs As New Recordset    

strcon = “Provider=Microsoft.Jet.OLEDB.4.0;” & _   

“Data Source=E:\Student.accdb;” & _  

“User Id=admin;Password=”    

conn.Open (strcon)    

qry = “SELECT * FROM students”  

rs.Open qry, conn, adOpenKeyset    

rs.Close 

conn.Close 

End Sub

Conexión con la base de datos de Access 2007/2010

Sub ADO_Conn()

Dim conn As New Connection

Dim rs As New Recordset    

strcon = “Provider=Microsoft.ACE.OLEDB.12.0;” & _  

 “Data Source=E:\Student.accdb;” & _ 

“User Id=admin;Password=”     conn.Open (strcon)  

qry = “SELECT * FROM students”   

rs.Open qry, conn, adOpenKeyset    

rs.Close   

conn.Close

End Sub

Envolver:

Si comprende el concepto de cómo ejecutar el código VBA en Access en varias circunstancias, entonces comience con estas técnicas. no tengas miedo de experimentar …..!

¿Aún tienes problemas? Arreglarlos con Stellar reparación para Access:

Este software asegura sin costura reparación y recuperación de la base de datos ACCDB y MDB. Es Restaura todos los objetos, incluidas tablas, informes, consultas, registros, formularios e índices, junto con módulos, macros, etc. Solucione los problemas de Microsoft Access ahora en 3 sencillos pasos:

  1. Descargue Stellar Access base de datos reparación herramienta calificado como Excelente en Cnet.
  2. Haga clic en la opción Examinar y Buscar para localizar la base de datos de Access corrupta.
  3. Haga clic en el botón Reparar para reparar y obtener una vista previa de los objetos de la base de datos.

Pearson Willey es escritor de contenido de sitios web y planificador de contenido de formato largo. Además de esto, también es un ávido lector. Por lo tanto, sabe muy bien cómo escribir un contenido atractivo para los lectores. Escribir es como una ventaja creciente para él. Le encanta explorar sus conocimientos on MS Access y compartiendo Tecnología blog.