Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Puede usar la acción de macro EjecutarCódigo en bases de datos de escritorio de Access para llamar a un procedimiento de función de Visual Basic para Aplicaciones (VBA).

Configuración

La acción de macro RunCode tiene el siguiente argumento.

Argumento de la acción

Descripción

Nombre de función

El nombre del procedimiento de función de VBA al que llamar. Escriba los argumentos de la función entre paréntesis. Escriba el nombre de la función en el cuadro Nombre de función de la ventana de diseño de la macro. Este argumento es obligatorio.

Nota: En una base de datos de escritorio de Access (.mdb o .accdb), haga clic en el botón Generar para usar el Generador de expresiones y seleccionar una función para este argumento. Haga clic en la función deseada en la lista del Generador de expresiones.

Comentarios

Los procedimientos de función definidos por el usuario se almacenan en Access módulos.

Debe incluir paréntesis, incluso si el procedimiento Function no tiene ningún argumento, como en el ejemplo siguiente:

Función Test()

A diferencia de función definida por el usuario nombres usados para la configuración de propiedad de evento, el nombre de la función en el argumento Nombre de función no comienza con un signo igual (=).

Access pasa por alto el valor devuelto de la función.

Nota: No se puede llamar a un procedimiento Function desde una macro si el nombre de la función es el mismo que el nombre del módulo.

Recomendación

Para ejecutar un procedimiento Sub o procedimiento de evento escrito en Visual Basic, cree un procedimiento Function que llame al procedimiento Sub o al procedimiento de evento. A continuación, use la acción de macro RunCode para ejecutar el procedimiento Function.

Si usa la acción de macro EjecutarCódigo para llamar a una función, Access busca la función con el nombre especificado por el argumento Nombre de función en los módulos estándar de la base de datos. Sin embargo, cuando esta acción se ejecuta en respuesta a hacer clic en un comando de menú en un formulario o informe o en respuesta a un evento en un formulario o informe, Access busca primero la función en el módulo de clase del formulario o informe y, a continuación, en los módulos estándar. Access no busca en los módulos de clase que aparecen en el área Módulos del panel de navegación la función especificada por el argumento Nombre de función .

Esta acción no está disponible en un módulo de VBA. En su lugar, ejecute el procedimiento de función deseado directamente en VBA.

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.