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.