En este artículo, se explica el concepto de macro y su utilidad para ahorrar tiempo automatizando tareas que se efectúan con frecuencia. Se analizan los conceptos básicos relacionados con la creación y el uso de macros y también se mencionan mejoras en las macros en Microsoft Office Access 2007.
En este artículo
¿Qué es una macro?
Una macro es una herramienta que permite automatizar tareas y mejorar la funcionalidad de formularios, informes y controles. Por ejemplo, si agrega un botón de comando a un formulario, asocia el evento AlHacerClick del botón a una macro y esta macro contiene los comandos que desea que se ejecuten cada vez que se haga clic en el botón.
En Access, resulta útil considerar las macros como un lenguaje de programación simplificado que se escribe generando una lista de acciones (acción: componente básico de una macro; instrucción independiente que se puede combinar con otras acciones para automatizar tareas. A veces se denomina comando en otros lenguajes de macros.) a realizar. Para generar una macro, seleccionará cada acción en una lista desplegable y luego completará la información necesaria para cada acción. Las macros permiten mejorar la funcionalidad de formularios, informes y controles sin escribir código en un módulo de Visual Basic para Aplicaciones (VBA) (Visual Basic para Aplicaciones (VBA): versión del lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones basadas en Microsoft Windows y que se incluye en varios programas de Microsoft.). Las macros proporcionan un subconjunto de los comandos disponibles en VBA y, para la mayoría de los usuarios, es más fácil generar una macro que escribir código de VBA.
Por ejemplo, suponga que desea iniciar un informe directamente desde un formulario de entrada de datos. Puede agregar un botón al formulario y, a continuación, crear una macro que inicie el informe. Puede tratarse de una macro independiente (un objeto independiente en la base de datos), que luego se asocie al evento AlHacerClick del botón, o la macro puede estar incrustada directamente en el propio evento AlHacerClick del botón (una característica nueva en Office Access 2007). De cualquiera de las dos maneras, cuando se haga clic en el botón, la macro se ejecutará e iniciará el informe.
Las macros se crean usando el Generador de macros, que se muestra en la siguiente ilustración.
Para mostrar el Generador de macros
- En el grupo Otros de la ficha Crear, haga clic en Macro. Si el comando no está disponible, haga clic en la flecha situada debajo del botón Módulo o Módulo de clase y, a continuación, haga clic en Macro.
Volver al principio
Explicación de las macros
El término "macro" se usa con frecuencia para referirse a los objetos macro independientes (es decir, los objetos que se ven en Macros en el panel de exploración) aunque, en realidad, un objeto macro puede contener varias macros. En tal caso, se conoce como grupo de macros. Un grupo de macros se representa en el panel de exploración como un objeto macro único, pero en realidad, un grupo de macros contiene más de una macro. Por supuesto, es posible crear cada macro en un objeto independiente, pero a menudo tiene sentido agrupar varias macros relacionadas en un solo objeto. El nombre que aparezca en la columna Nombre de macro sirve para identificar a cada macro.
Una macro consta de acciones de macro individuales. La mayoría de las acciones requieren argumentos. Además, puede asignar nombres a las macros de un grupo de macros y agregar condiciones para controlar la forma de ejecutarse cada acción. En las siguientes secciones se describen estas funciones de forma más detallada.
Nombres de macro
Si un objeto macro sólo contiene una macro, no es necesario utilizar nombres de macro. Se puede hacer referencia a la macro por el nombre del objeto. No obstante, en el caso de un grupo de macros, se debe asignar un nombre único a cada macro. Si la columna Nombre de macro no está visible en el Generador de macros, haga clic en Nombres de macro
en el grupo Mostrar/Ocultar de la ficha Diseño. Encontrará más información sobre la ejecución de macros en grupos de macros más adelante en este artículo.
Argumentos
Un argumento es un valor que proporciona información para la acción, como la cadena que se debe mostrar en un cuadro de mensaje, el control que se debe operar, etc. Algunos argumentos son necesarios y otros son opcionales. Los argumentos se pueden ver en el panel Argumentos de acción, en la parte inferior del Generador de macros.
Una función nueva del Generador de macros de Office Access 2007 es la columna Argumentos, que permite ver (pero no editar) los argumentos de una acción en la misma línea de la acción. De esta forma, es un poco más fácil leer la macro porque ya no es necesario seleccionar una acción para mostrar los argumentos. Para mostrar la columna Argumentos, haga clic en Argumentos
en el grupo Mostrar/Ocultar en la ficha Diseño.
Condiciones
Una condición especifica ciertos criterios que se deben cumplir para que se pueda realizar una acción. Se puede utilizar cualquier expresión (expresión: cualquier combinación de operadores matemáticos o lógicos, constantes, funciones y nombres de campos, controles y propiedades que evalúa a un solo valor. Las expresiones pueden realizar cálculos, manipular caracteres o probar datos.) que pueda dar como resultado True/False o Sí/No. La acción no se ejecutará si la expresión devuelve como resultado False, No o 0 (cero). Si la expresión devuelve cualquier otro valor, la acción se ejecutará.
Para que una condición pueda controlar más de una acción, escriba unos puntos suspensivos (...) en la columna Condición para cada acción subsiguiente que desee que se aplique a la condición. Si la expresión devuelve False, No o 0 (cero), no se ejecutará ninguna de las acciones. Si la condición devuelve cualquier otro valor, todas las acciones se ejecutarán.
Para mostrar la columna Condiciones en el Generador de macros, en la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en Condiciones
.
| Use esta expresión para llevar a cabo la acción |
Si: |
| [Ciudad]="París" |
París es el valor de Ciudad en el campo en el formulario desde el cual se ejecutó la macro. |
| DCont("[IdPedido]", "Pedidos")>35 |
Hay más de 35 entradas en el campo IdPedido de la tabla Pedidos. |
| DCont("*", "Detalles de pedido", "[IdPedido]=Formularios![Pedidos]![IdPedido]")>3 |
Hay más de tres entradas en la tabla Detalles de pedido para las cuales el campo IdPedido de la tabla coincide con el campo IdPedido del formulario Pedidos. |
| [FechaEnvío] Entre #2-Feb-2006# Y #2-Mar-2006# |
El valor del campo FechaEnvío del formulario desde el cual se ejecuta la macro no es anterior a 2-Feb-2006 y no es posterior a 2-Mar-2006. |
| Formularios![Productos]![UnidadesEnStock]<5 |
El valor del campo UnidadesEnStock del formulario Productos es menor que cinco. |
| EsNulo([Nombre]) |
El valor Nombre del formulario desde el que se ejecuta la macro es nulo (Null: valor que puede especificarse en un campo o usarse en expresiones o consultas para indicar datos desconocidos o ausentes. En Visual Basic, la palabra clave Null indica un valor Null. Algunos campos, como los de clave principal, no pueden contener un valor Null.) (no tiene valor). Esta expresión es equivalente a [Nombre] Es Nulo. |
| [PaísRegión]="UK" Y Formularios![TotalVentas]![TotalPedidos]>100 |
El valor en el campo País o región del formulario desde el que se ejecuta la macro es UK, y el valor del campo TotalPedidos del formulario TotalVentas es mayor que 100. |
| [País o región] En ("Francia", "Italia", "España") Y Longitud([CódigoPostal])<>5 |
El valor en el campo País o región del formulario desde el cual se ejecuta la macro es Francia, Italia o España y el código postal no es de 5 caracteres de longitud. |
| CuadroMsj("¿Confirmar cambios?",1)=1 |
Se hace clic en Aceptar en un cuadro de diálogo donde la función CuadroMsj muestra "¿Confirmar cambios?". Si hace clic en Cancelar en el cuadro de diálogo, Access omite la acción. |
| [Variables temporales]![ResultadoCuadroMsj]=2 |
La variable temporal que se utiliza para almacenar el resultado de un cuadro de mensaje se compara con 2 (vbCancel=2). |
Sugerencia Para hacer que Access omita temporalmente una acción, especifique False como condición. Omitir temporalmente una acción puede ser de utilidad cuando esté tratando de solucionar problemas en una macro.
Acciones de macro
Las acciones son los bloques de creación para generar las macros. Access proporciona una gran cantidad de acciones entre las que elegir, que habilitan una amplia variedad de comandos. Por ejemplo, algunas de las acciones más utilizadas sirven para abrir un informe, buscar un registro, mostrar un cuadro de mensaje o aplicar un filtro a un formulario o un informe.
Volver al principio
Características nuevas de las macros en Office Access 2007
En versiones anteriores de Access, muchas funciones de las más habituales no se podían ejecutar sin escribir código de VBA. En Office Access 2007, se han integrado nuevas características y acciones de macro para ayudar a eliminar la necesidad de código. De esta forma, resulta más sencillo mejorar la funcionalidad de la base de datos y ésta gana en seguridad.
- Macros incrustadas Ahora tiene la posibilidad de incrustar macros en cualquiera de los eventos proporcionados por un formulario, un informe o un control. Una macro incrustada no está visible en el panel de exploración; pasa a formar parte del formulario, el informe o el control en el que se creó. Si crea una copia de un formulario, un informe o un control que contenga macros incrustadas, las macros también estarán presentes en la copia.
- Mayor seguridad Cuando el botón Mostrar todas las acciones
no está resaltado en el Generador de macros, las únicas acciones de macro y argumentos de EjecutarComando que están disponibles para el uso son las que no requieren estado de confianza para ejecutarse. Una macro generada con estas acciones se ejecutará aunque la base de datos esté en modo deshabilitado (cuando no se permite la ejecución de VBA). Las bases de datos que contienen acciones de macro no incluidas en la lista de confianza (o las bases de datos que tienen código de VBA) requieren que se les conceda explícitamente el estado de confianza.
- Tratamiento de errores y depuración Office Access 2007 proporciona nuevas acciones de macro, como AlOcurrirError (similar a la instrucción "On Error" en VBA) y BorrarErrorDeMacro, que permiten realizar acciones específicas cuando se producen errores durante la ejecución de la macro. Además, la nueva acción de macro PasoAPaso permite habilitar el modo paso a paso en cualquier punto de la macro, para que se pueda observar cómo ejecuta la macro las acciones de una en una.
- Variables temporales Tres nuevas acciones de macro (DefinirVariableTemporal, QuitarVariableTemporal y QuitarTodasLasVariablesTemporales) permiten crear y usar variables temporales en las macros. Pueden utilizarse en expresiones condicionales para controlar la ejecución de macros, o para pasar datos a informes o formularios, o desde ellos, o para cualquier otro propósito que requiera un almacenamiento temporal para un valor. También se puede tener acceso a estas variables temporales en VBA, por lo que sirven además para comunicar datos a módulos de VBA y desde ellos.
Volver al principio
Crear una macro
En Office Access 2007, una macro o un grupo de macros puede estar contenida en un objeto macro (a veces denominado "macro independiente"), o una macro puede estar incrustada en cualquier propiedad de evento de un formulario, un informe o un control. Las macros incrustadas pasan a formar parte del objeto o el control en el que están incrustadas. Las macros independientes están visibles en el panel de exploración, en Macros; las macros incrustadas no.
Características del Generador de macros
El Generador de macros sirve para crear y modificar macros. Para abrir el Generador de macros:
- En el grupo Otros de la ficha Crear, haga clic en Macro. Si el comando no está disponible, haga clic en la flecha situada debajo del botón Módulo o Módulo de clase y, a continuación, haga clic en Macro.
Access presenta el Generador de macros.
Utilice el Generador de macros para crear la lista de acciones que desea que se lleven a cabo cuando se ejecute la macro. La primera vez que abra el Generador de macros, aparecerán las columnas Acción, Argumentos y Comentario.
En Argumentos de acción, es donde se especifican y editan los argumentos para cada acción de macro, cuando son necesarios. Aparece un cuadro que ofrece una breve descripción de cada acción o argumento. Haga clic en una acción o en un argumento de acción para leer su descripción en el cuadro.
En la tabla siguiente, se muestran los comandos que están disponibles en la ficha Diseño del Generador de macros.
| Grupo |
Comando |
Descripción |
| Herramientas |
Ejecutar |
Realiza las acciones enumeradas en la macro. |
|
Paso a paso |
Habilita el modo paso a paso. Cuando se ejecuta la macro en este modo, las acciones se realizan de una en una. Después de completar cada acción, se muestra el cuadro de diálogo Macro paso a paso. Haga clic en Paso a paso en el cuadro de diálogo para avanzar a la siguiente acción. Haga clic en Detener todas las macros para detener la macro en curso y cualquiera otra que se esté ejecutando. Haga clic en Continuar para salir del modo paso a paso y llevar a cabo las acciones restantes sin pararse. |
|
Generador |
Si se especifica un argumento de acción que puede contener una expresión, este botón se habilita. Haga clic en Generador para abrir el cuadro de diálogo Generador de expresiones, que puede usar para crear la expresión. |
| Filas |
Insertar filas |
Inserta una o varias filas de acción en blanco delante de las filas seleccionadas. |
|
Eliminar filas |
Elimina las filas de acción seleccionadas. |
| Mostrar u ocultar |
Mostrar todas las acciones |
Muestra más o menos acciones de macro en la lista desplegable Acción.
- Para mostrar una lista más larga de acciones de macro, haga clic en Mostrar todas las acciones. Cuando haya una lista más larga disponible, el botón Mostrar todas las acciones aparecerá seleccionado. Si selecciona una acción de macro de esta lista más larga de acciones de macro, es posible que tenga que conceder a la base de datos un estado de confianza explícita para poder ejecutar la acción.
- Para cambiar de una lista larga de acciones de macro a una lista corta que contenga únicamente las acciones de macro que puede utilizar en una base de datos sin el estado de confianza asignado, asegúrese de que el botón Mostrar todas las acciones no está seleccionado.
Sugerencia Si el botón Mostrar todas las acciones está seleccionado, haga clic en el botón Mostrar todas las acciones para cancelar la selección.
Si el botón Mostrar todas las acciones no está seleccionado, la lista más corta de acciones de macro de confianza está disponible.
|
|
Nombres de macro |
Muestra u oculta la columna Nombres de macro. Los nombres de macro son necesarios en los grupos de macros para distinguir unas macros de otras; en los demás casos, los nombres son opcionales. Para obtener más información, vea la sección Crear un grupo de macros, más adelante en este artículo. |
|
Condiciones |
Muestra u oculta la columna Condición. Esta columna se utiliza para escribir expresiones que controlen cuándo se realizará una acción. |
|
Argumentos |
Muestra u oculta la columna Argumentos. Esta columna muestra los argumentos para cada acción de macro y permite una lectura más cómoda de la macro. Si no se muestra la columna Argumentos, tendrá que hacer clic en cada acción y leer los argumentos en Argumentos de acción. No se pueden insertar argumentos en la columna Argumentos. |
Crear una macro independiente
- En el grupo Otros de la ficha Crear, haga clic en Macro. Si el comando no está disponible, haga clic en la flecha situada debajo del botón Módulo o Módulo de clase y, a continuación, haga clic en Macro.
Se muestra el Generador de macros.
- Agregue una acción a la macro:
Sugerencias
- Para los argumentos de acción (argumento de la acción: información adicional que requieren algunas acciones de macro, por ejemplo, el objeto al que afecta la acción o condiciones especiales en las que tiene lugar la acción.) cuya configuración sea un nombre de objeto de base de datos (objetos de base de datos: una base de datos de Access contiene objetos como tablas, consultas, formularios, informes, páginas, macros y módulos. Un proyecto de Access contiene objetos como formularios, informes, páginas, macros y módulos.), puede establecer el argumento arrastrando el objeto desde el panel de exploración hasta el cuadro del argumento Nombre del objeto de la acción.
- También puede crear una acción arrastrando un objeto de base de datos desde el panel de exploración hasta una fila vacía del Generador de macros. Si arrastra una tabla, una consulta, un formulario, un informe o un módulo hasta el Generador de macros, Access agrega una acción que abre la tabla, la consulta, el formulario o el informe. Si arrastra una macro hasta el Generador de macros, Access agrega una acción que ejecuta la macro.
- Si lo desea, puede escribir un comentario para la acción.
- Para agregar más acciones a la macro, muévase a otra fila de acción (fila de acción: fila de la parte superior de la ficha de objeto Macro donde se escriben los nombres de macro, acciones, condiciones y comentarios asociados con una macro concreta o un grupo de macros.) y repita el paso 2. Access lleva a cabo las acciones en el orden en que se enumeren.
Volver al principio
Crear un grupo de macros
Si desea agrupar varias macros relacionadas en un objeto macro, puede crear un grupo de macros.
- En el grupo Otros de la ficha Crear, haga clic en Macro. Si el comando no está disponible, haga clic en la flecha situada debajo del botón Módulo o Módulo de clase y, a continuación, haga clic en Macro.
Se muestra el Generador de macros.
- En la ficha Diseño, en el grupo Mostrar u ocultar, haga clic en Nombres de macro
si no se ha seleccionado todavía. Aparece la columna Nombre de macro en el Generador de macros.
Nota Los nombres de macro son necesarios en los grupos de macros para distinguir unas macros de otras. El nombre de macro aparece en la misma línea que la primera acción de la macro. La columna Nombre de macro se deja en blanco para las siguientes acciones de la macro. La macro finaliza en la siguiente entrada de la columna Nombre de macro.
- En la columna Nombre de macro, especifique un nombre para la primera macro del grupo de macros.
- Agregue las acciones que desea que realice la primera macro:
- En la columna Acción, haga clic en la flecha para presentar la lista de acciones.
- Haga clic en la acción que desea agregar.
- En Argumentos de acción, especifique argumentos para la acción, si son necesarios. Para ver una descripción breve de cada argumento, haga clic en el cuadro del argumento y lea la descripción que aparece a la derecha del argumento.
Sugerencias
- Para los argumentos de acción cuya configuración sea un nombre de objeto de base de datos, puede establecer el argumento arrastrando el objeto desde el panel de exploración hasta el cuadro del argumento Nombre del objeto de la acción.
- También puede crear una acción arrastrando un objeto de base de datos desde el panel de exploración hasta una fila vacía del Generador de macros. Si arrastra una tabla, una consulta, un formulario, un informe o un módulo hasta el Generador de macros, Access agrega una acción que abre la tabla, la consulta, el formulario o el informe. Si arrastra una macro hasta el Generador de macros, Access agrega una acción que ejecuta la macro.
- Si lo desea, puede escribir un comentario para la acción.
- Desplácese a la columna Nombre de macro de la siguiente fila vacía y, a continuación, escriba un nombre para la siguiente macro del grupo de macros.
- Agregue las acciones que desea que realice la macro.
- Repita los pasos 5 y 6 para cada macro del grupo.
Notas
- Si ejecuta un grupo de macros haciendo doble clic en él en el panel de exploración o haciendo clic en Ejecutar
en el grupo Herramientas de la ficha Macro, Access sólo ejecuta la primera macro y se detiene cuando encuentra el segundo nombre de macro.
- Cuando guarde el grupo de macros, el nombre que especifique será el nombre del grupo completo. Este nombre aparece en Macros en el panel de exploración. Para hacer referencia a una macro individual incluida en un grupo de macros, use esta sintaxis:
nombre_de_grupo_de_macros.nombre_de_macro
Por ejemplo, Botones.Productos se refiere a la macro Productos en el grupo de macros Botones. En una lista de macros, tal como la lista de argumentos Nombre de macro de la acción EjecutarMacro, Microsoft Access presenta la macro Productos como Botones.Productos.
Volver al principio
Crear una macro incrustada
Las macros incrustadas se diferencian de las macros independientes en que las incrustadas se almacenan en las propiedades de evento de formularios, informes o controles. No se muestran como objetos en Macros en el panel de exploración. De este modo, la base de datos puede resultar más fácil de administrar, puesto que no hay que realizar un seguimiento de otros objetos macro que contienen macros para un formulario o un informe. Siga este procedimiento para crear una macro incrustada.
Nota Las macros incrustadas no se pueden convertir a Visual Basic for Applications (VBA) usando la herramienta Convertir macros a Visual Basic
en el grupo Macro de la ficha Herramientas de base de datos. Si desea convertir en última instancia las macros a código VBA, puede resultar adecuado crear macros independientes en lugar de macros incrustadas. Entonces, podrá usar la herramienta Convertir macros a Visual Basic para convertirlas a VBA.
- Abra el formulario o el informe que contendrá la macro en la vista Diseño o en la vista Presentación. Para abrir un formulario o un informe, haga clic con el botón secundario en él en el panel de exploración y, a continuación, seleccione Vista Diseño
o Vista Presentación
..
- Si no se muestra la hoja de propiedades, presione F4.
- Haga clic en el control o en la sección que contiene la propiedad de evento en la que desea incrustar la macro.
Para seleccionar el formulario o el informe entero, haga clic en Informe en la lista desplegable en la parte superior de la hoja de propiedades.
- En la hoja de propiedades, haga clic en la ficha Eventos.
- Haga clic en la propiedad de evento en la que desea incrustar la macro y, a continuación, seleccione
junto al cuadro.
- En el cuadro de diálogo Elegir generador, haga clic en Generador de macros y después en Aceptar.
- En el Generador de macros, haga clic en la primera fila de la columna Acción.
- En la lista desplegable Acción, haga clic en la acción que desee.
- Rellene los argumentos necesarios en el panel Argumentos de acción y, a continuación, vaya desplazándose a la siguiente fila de acción.
- Repita los pasos del 8 al 9 hasta que la macro se haya completado.
- Haga clic en Guardar
y después en Cerrar
.
La macro se ejecutará cada vez que se desencadene el evento.
Nota Access permite generar un grupo de macros como una macro incrustada. Sin embargo, sólo se ejecutará la primera macro del grupo cuando se desencadene el evento. Las macros subsiguientes se omiten, a no ser que se les llame desde dentro de la propia macro incrustada (por ejemplo, mediante la acción AlOcurrirError).
Ejemplo: incrustar una macro en el evento OnNoData de un informe
Cuando se ejecuta un informe y su origen de datos no contiene registros, el informe muestra una página vacía (es decir, una página sin datos). Tal vez prefiera que aparezca un cuadro de mensaje en lugar del informe, y que éste no se llegue a mostrar. Una macro incrustada es la solución ideal para esta situación.
- Abra el informe en la vista Diseño o en la vista Presentación.
- Si no se muestra la hoja de propiedades, presione F4.
- En la hoja de propiedades, haga clic en la ficha Eventos.
- Haga clic en Al no haber datos.
- Haga clic en
.
- En el cuadro de diálogo Elegir generador, haga clic en Generador de macros y después en Aceptar.
- Especifique las acciones y los argumentos desde la tabla siguiente.
| Acción |
Argumentos |
| CuadroMsj |
No se encontraron registros., Sí, Información, Sin datos |
| CancelarEvento |
[sin argumentos] |
- Tenga en cuenta que la tabla precedente muestra los argumentos tal como se presentan en la columna Argumentos. En realidad, se establecen en Argumentos de acción, como se indica en la tabla siguiente.
| Argumento de la acción |
Valor |
| Mensaje |
No se encontraron registros. |
| Bip |
Sí |
| Tipo |
Información |
| Título |
Sin datos |
- Haga clic en Cerrar.
El Generador de macros se cierra y el evento OnNoData muestra [Macro incrustada].
- Guarde y cierre el informe.
La próxima vez que ejecute el informe y no se encuentren registros, aparecerá el cuadro de mensaje. Si hace clic en Aceptar en el cuadro de mensaje, el informe se cancelará sin mostrar la página vacía.
Volver al principio
Editar una macro
- Para insertar una fila de acción Haga clic en la fila de la macro delante de la cual desea insertar la nueva acción y, a continuación, en la ficha Diseño, en el grupo Filas, haga clic en Insertar filas
..
- Para eliminar una fila de acción Haga clic en la fila de la acción que desea eliminar y, a continuación, en la ficha Diseño, en el grupo Filas, haga clic en Eliminar filas
.
- Para mover una fila de acción Seleccione la acción haciendo clic en el selector de filas a la izquierda del nombre de la acción. Arrastre el selector de filas para mover la acción a una nueva posición.
Volver al principio
Obtener más información sobre las acciones de las macros
Mientras trabaja con el Generador de macros, puede obtener más información sobre una acción o un argumento haciendo clic en el elemento y leyendo la descripción del cuadro que aparece en la esquina inferior derecha de la ventana Generador de macros. Además, cada acción de macro tiene asociado un artículo de la Ayuda. Para obtener más información sobre una acción, haga clic en ella en la lista de acciones y presione F1.
Volver al principio
Ejecutar una macro
Las macros independientes se pueden ejecutar de cualquiera de las siguientes formas: directamente (por ejemplo, desde el panel de exploración), en un grupo de macros, desde otra macro, desde un módulo de VBA, o como respuesta a un evento que tiene lugar en un formulario, un informe o un control. Una macro incrustada en un formulario, un informe o un control se puede ejecutar haciendo clic en Ejecutar
en la ficha Diseño mientras la macro está en la vista Diseño; de otro modo, la macro sólo se ejecutará cuando se desencadene su evento asociado.
Ejecutar una macro directamente
Para ejecutar directamente una macro, siga uno de estos procedimientos:
- Desplácese a la macro en el panel de exploración y, a continuación, haga doble clic en el nombre de la macro.
- En la ficha Herramientas de base de datos, en el grupo Macro, haga clic en Ejecutar macro
, haga clic en la macro en la lista Nombre de macro y, a continuación, haga clic en Aceptar.
- Si la macro está abierta en la vista Diseño, haga clic en Ejecutar
en la ficha Diseño, en el grupo Herramientas. Para abrir la macro en la vista Diseño, haga clic con el botón secundario en ella en el panel de exploración y, a continuación, seleccione Vista Diseño
.
Ejecutar una macro que pertenece a un grupo de macros
Para ejecutar una macro que está en un grupo de macros, siga uno de estos procedimientos:
- En la ficha Herramientas de base de datos, en el grupo Macro, haga clic en Ejecutar macro
y, a continuación, haga clic en la macro en la lista Nombre de macro.
Access incluye una entrada para cada macro en cada grupo de macros, con el formato nombre_de_grupo_de_macros.nombre_de_macro.
nombre_de_grupo_de_macros.nombre_de_macro
Por ejemplo, el valor de propiedad de evento siguiente ejecuta una macro denominada Categorías en un grupo de macros denominado Botones del panel de control del formulario:
Botones del panel de control del formulario.Categorías
- Para ejecutar una macro que esté en un grupo de macros desde un procedimiento de VBA, utilice el método RunMacro del objeto DoCmd, con la sintaxis indicada previamente para hacer referencia a la macro.
Ejecutar una macro desde otra macro o desde un procedimiento de VBA
Agregue la acción EjecutarMacro a la macro o al procedimiento.
- Para agregar la acción EjecutarMacro a una macro, haga clic en EjecutarMacro en la lista de acciones en una fila de acción en blanco y, a continuación, establezca el argumento Nombre de macro en el nombre de la macro que desea ejecutar.
- Para agregar la acción EjecutarMacro a un procedimiento de VBA, agregue el método RunMacro del objeto DoCmd a su procedimiento y luego especifique el nombre de la macro que desea ejecutar. Por ejemplo, la siguiente instancia del método RunMacro ejecuta la macro denominada My Macro:
DoCmd.RunMacro "My Macro"
Ejecutar una macro como respuesta a un evento en un formulario, un informe o un control
Aunque ahora ya se pueden incrustar macros directamente en propiedades de eventos de formularios, informes y controles, todavía se pueden crear macros independientes y luego asociarlas a eventos, como se hacía en las versiones anteriores de Access.
- Después de generar la macro independiente, abra el formulario o el informe en la vista Diseño o en la vista Presentación.
- Abra la hoja de propiedades del formulario o el informe, o de una sección o un control del formulario o el informe.
- Elija la ficha Evento.
- Haga clic en la propiedad de evento correspondiente al evento que desee que desencadene la macro. Por ejemplo, para iniciar la macro cuando se produzca el evento Change, haga clic en la propiedad Al cambiar.
- En la lista desplegable, haga clic en el nombre de la macro independiente.
- Guarde el formulario o el informe.
Volver al principio