COMO CREAR UNA MACRO

Las Macros son un método sencillo para llevar a cabo una o varias tareas básicas como abrir y cerrar formularios, mostrar u ocultar barras de herramientas, ejecutar informes, etc.
También sirven para crear métodos abreviados de teclado y para que se ejecuten tareas automáticamente cada vez que se inicie la base de datos.
Si guardamos la Macro con el nombre de AutoExeccada vez que se inicie la base de datos, se ejecutará automáticamente. Esto es debido a que Access al arrancar busca una macro con ese nombre, si la encuentra será el primer objeto que se ejecute antes de lanzar cualquier otro.
Esta opción es muy socorrida a la hora de efectuar comprobaciones o lanzar procesos antes de que el usuario empiece a trabajar con la base de datos.
La configuración por defecto de Access, nos impedira ejecutar ciertas acciones de macro si la base de datos no se encuentra en una ubicación de confianza, para evitar acciones malintencionadas.
Para ejecutar correctamente las macros de bases de datos que consideremos fiables, podemos añadir la ubicación en el Centro de confianza, tal como vimos en la Unidad 10 al realizar consultas de acción.

14.2. Crear una Macro

Videotutorial Flash Videotutorial YouTube
Para definir una macro, indicaremos una acción o conjunto de acciones que automatizarán un proceso. Cuando ejecutemos una Macro, el proceso se realizará automáticamente sin necesidad, en principio, de interacción por nuestra parte.
Por ejemplo, podríamos definir una Macro que abra un formulario cuando el usuario haga clic en un botón, o una Macro que abra una consulta para subir un diez por cien el precio de nuestros productos.
Crear una Macro es relativamente fácil, sólo tienes que hacer clic el botón Macro de la pestaña Crear y se abrirá la ventana con la nueva macro, así como sus correspondientes Herramientas de macros, englobadas en la pestaña Diseño.
Si habías utilizado versiones anteriores de Access, notarás que en la actual versión se ha modificado un tanto la forma de trabajar con las macros.
Como podrás observar, la ventana principal consta de una lista desplegable que te permite elegir la Acción para la macro. En el panel de la izquierda encontrarás estas mismas acciones agrupadas por categorías según su tipo y con un útil buscador en la zona superior, de forma que te sea más sencillo localizar la que deseas aplicar.
Ventana Macro
Podemos añadir tantas acciones como queramos, ya que al elegir una opción en el desplegable aparecerá otro inmediantamente debajo del primero, y así consecutivamente. Simplemente deberemos tener presente que se ejecutarán en el orden en que se encuentren. Es una cuestión de lógica, se ejecuta de forma lineal, de forma que no tendría sentido tratar de Cerrar ventana si aún no la hemos abierto, por ejemplo.
Para cambiar el orden en el que se encuentren las acciones puedes arrastrarlas con el ratón hasta la posición correcta o bien utilizar los botones de la acción, que aparecerán al pasar el cursor sobre ella. Con ellos podrás subir o bajar un nivel la acción por cada pulsación.
Ordenar macros - botones
Obviamente estos botones sólo están disponibles si hay más de una acción. La última sólo podrá ascender, la primera sólo podrá descender y si sólo hay una acción únicamente dispondrá del botón Eliminar situado a la derecha.
En función de la acción que seleccionemos aparecerá un panel con un aspecto u otro, en el que podremos especificar los detalles necesarios.
Macro Abrir tabla
Por ejemplo, para la acción Abrir una tabla, necesitaríamos saber su nombre, en qué vista queremos que se muestre y si los datos se podrán modificar o no una vez abierta. No siempre será obligatorio rellenar todos los campos, únicamente los que indique que son Requeridos. El resto puede que tengan un valor por defecto (como en este caso Vista: Hoja de datos) o que simplemente sean opcionales.
Cuando tengas muchas acciones en una macro, es posible que te interese ocultar los detalles para ver la lista de acciones una bajo otra. En ese caso, podrás expandir Expandir y contraer Contraer la información desde el botón de la esquina superior izquierda. Cuando se ocultan los detalles, la información relevante se muestra toda en una fila, como puedes observar en la siguiente imagen.
Macro Abrir tabla
Otra forma de contraer y expandir es desde su correspondiente grupo en la pestaña Diseño.
Grupo Contraer o expandir
Cuando la Macro está terminada, puede guardarse Botón Guardarejecutarse Botón Ejecutar y cerrarse. Más tarde podremos llamarla desde un control Botón, o ejecutarla directamente desde la ventana de la base de datos haciendo clic en Ejecutar o bien haciendo doble clic directamente sobre ella.

Aunque aún no hayamos aprendido mucho sobre ellas, es imporante que tengamos claro para qué sirven exactamente las macros y cuándo se ejecutan.
Desde luego, siempre podemos abrir el diseño de la macro y pulsar el botón Ejecutar Botón Ejecutar en la cinta de opciones, para ejecutarla de forma manual. También podríamos hacer doble clic sobre ella en el Panel de navegación. Pero estas no son las prácticas más utilizadas.
La mayoría de veces, las macros serán acciones que se ejecutan por detrás, sin la plena consciencia del usuario de la base de datos. El usuario que se encarga de actualizar el inventario o dar de alta pacientes no tiene por qué saber cómo se llaman las tablas y qué acciones concretas ejecuta cada macro. Normalmente, el usuario en realidad trabaja con formularios amigables, con botones y otros controles, que utiliza de forma intuitiva.
Somos nososotros, quienes creamos la base de datos, los encargados de asignar a cada control la macro conveniente. Por lo tanto, lo que debemos hacer es asignar una macro que programe qué acción se ejecutará al interactuar con un determinado control u objeto. Y para ello trabajaremos con sus Eventos.
Un evento es una acción que el usuario realiza, normalmente de forma activa. Por ejemplo hacer clic o doble clic sobre un botón, cambiar de un registro a otro en un formulario, modificar un determinado campo de un registro, cerrar la base de datos, etc.
Deberemos reflexionar sobre en qué momento nos interesa que se ejecute la macro, para aprender a elegir qué evento y qué control la desencadenarán.
Para asociar la macro a un control:
En la vista diseño de formulario, seleccionamos un control o el propio formulario.Hoja de propiedades - Eventos
Luego abrimos la Hoja de propiedades, si no está ya abierta, y nos situamos en la pestaña Eventos.
Entre los posibles eventos, elegimos el que nos conviene que ejecute la macro. Al hacer clic en él aparecerán dos botones:
  • El primero nos permitirá desplegar la lista de macros que tengamos en la base de datos. Ahí es donde deberemos indicar qué macro ejecutar.
  • El segundo botón nos permite elegir el tipo de generador entre los generadores de macros, expresiones y código. No vamos a entrar en detalle en él.
En el ejemplo de la imagen hemos asignado al evento Al hacer clic en un Botón de comando una macro que se encarga de mostrar la nómina del empleado actual. De forma que si el usuario está viendo los registros de empleados en un formulario y pulsa el botón, se abrirá una ventana con el formulario que contiene los datos de su última nómina.

14.4. Acciones más utilizadas

En este apartado veremos las acciones más utilizadas en las Macros. Siempre puedes recurrir a la ayuda de Access para obtener información sobre acciones que aquí no tratemos. Puedes ver la descripción de sus argumentos de acción haciendo clic en Avanzado.
* Algunas de estas acciones no se muestran si no está pulsado el icono Mostrar todas las acciones, en la pestaña Diseño.
AcciónDescripciónArgumentos
AbrirConsultaEsta acción abre una consulta escogida entre las existentes en la base de datos.Avanzado
AbrirFormularioDel mismo modo que la acción anterior, abre un formulario.Avanzado
AbrirInformeIgual que las acciones anteriores, permite abrir un informe.Avanzado
AbrirTablaEsta acción permite abrir una tabla.Avanzado
BuscarRegistroUtilizaremos esta acción para buscar registros. Esta acción busca el primer registro que cumpla los criterios especificadosPuedes utilizar esta acción para avanzar en las búsquedas que realices.Avanzado
BuscarRegistroSiguienteSe posiciona en el siguiente registro que cumpla con los criterios indicados en la acción BuscarRegistro anterior. No tiene argumentos.
CancelarEventoEsta acción cancela el evento que produjo la ejecución de la macro. No tiene argumentos.
CerrarVentanaCon esta acción podrás cerrar cualquier ventana que se encuentre abierta.Avanzado
CuadroDeMensajeCon las Macros incluso podremos mostrar mensajes para interactuar con el usuario.Avanzado
DetenerMacroIntroduce esta acción en una Macro para detener su ejecución. No tiene argumentos. Verás su utilidad más adelante.
DetenerTodasMacrosEsta acción detendrá todas las Macros que se estén ejecutando en ese momento. No tiene argumentos.
*EcoEsta acción es muy útil para ocultar al usuario las operaciones que se están realizando con una Macro. Permite la activación o desactivación de la visualización de las acciones en pantalla.Avanzado
EjecutarComandoDeMenúUtiliza esta acción para lanzar comandos que puedas encontrar en cualquier barra de herramientas.Avanzado
*EstablecerValorUna acción muy útil que te permitirá modificar los valores de los campos.Avanzado
IrARegistroTe permitirá saltar a un registro en particular dentro de un objeto.Avanzado
MaximizarVentanaEsta acción maximiza la ventana activa para que ocupe todo el espacio de la ventana de Access.
MinimizarVentanaAl contrario que la anterior, esta acción minimiza la ventana activa convirtiéndola en una barra de título en la parte inferior de la ventana de Access.
SalirDeAccessEsta acción hace que Access se cierre.