Del curso: Access 2016: Macros

Concepto de macro en Access

¿Para qué nos sirven las macros? Las macros sirven para automatizar tareas, o sea, algo que tenemos que hacer muchas veces, el poder adaptarle las órdenes que nosotros queramos para hacerlo de una manera automática. De esa manera, le damos muchas más funcionalidades a nuestra base de datos. Por ejemplo, en la base de datos de Neptuno, nosotros podemos abrir el formulario de'Panel de control principal', en el cual vemos que si, por ejemplo, pulsamos en el botón de Proveedores, abre el formulario de proveedores. Si nosotros pulsamos en el botón de Pedidos, abre el formulario de pedidos. Si pulsamos en el botón de Informe de ventas, abre otro formulario para que le demos otra serie de opciones para imprimir lo que nosotros queramos. También nosotros le podemos dar las órdenes que queramos. Me voy a ir al diseño y voy a seleccionar la imagen que tenemos aquí de Importadores Neptuno. Cuando nosotros lo seleccionamos en la parte de la derecha, en las hojas de propiedades, podemos ir a la ficha de Eventos. Los eventos son las órdenes que son capaces de recibir un objeto. Entonces, por ejemplo, la imagen que tenemos seleccionada es capaz de responder a los eventos de Al hacer clic, o sea, al pinchar sobre él, Al hacer un doble clic, Al pulsar el ratón, Al soltar el ratón, Al mover el ratón por encima. En este caso le vamos a decir Al hacer clic, o sea, al pinchar. Y nosotros aquí tenemos dos opciones: bien puedo pinchar en la flechita y elegir una macro que está ya hecha o, en este caso, vamos a pulsar en los tres puntos que aparecen. Al pulsar ahí nos aparece cómo queremos nosotros responder a ese evento, es Al hacer clic. Podemos responder con macros, con programación o con el generador de expresiones. En este caso le vamos a decir con el Generador de macros. Le voy a decir Aceptar y aquí le voy a dar, por ejemplo, la orden de Abrir otro formulario. ¿Qué formulario le vamos a dar? Pues queremos que abra, por ejemplo, el formulario de'Productos', en la vista Formulario, con las opciones que nosotros le digamos. Una vez que ya lo hemos hecho, podemos cerrar. Me pregunta que si queremos guardar los cambios, le decimos que sí y nos cambiamos de vista, nos vamos a la vista Formulario. Ahora, cuando pulsemos nosotros sobre la imagen, ya nos abre este formulario que le hemos dicho, el formulario de'Productos'. En este caso, la macro la hemos hecho dentro del propio formulario para que solo se ejecute ahí. También podríamos ir a la ficha de Crear y ahí en Macro crear una macro. Por ejemplo, voy a coger la orden CerrarVentana. Lo voy a dejar todo en blanco para que cierre la ventana en la que estoy y voy a guardar esta macro con el nombre de 'CerrarFormulario', por ejemplo. Le decimos Aceptar y cierro la macro. Ahora, en este formulario voy a ir al diseño y voy a ponerle un botón más. Cuando sale el asistente, le digo Cancelar y aquí le indico Cerrar. Y en los Eventos, aquí, como vemos, ya hay algún evento más, como puede ser Al pulsar una tecla, Al entrar, Al recibir el enfoque. En este caso, teniendo seleccionado el botón de Cerrar, en el evento Al hacer clic pincho en la flechita y elijo la macro CerrarFormulario. Si no lo veo bien, puedo hacer un poquito más ancho la hoja de propiedades para que se vea mejor. Me cambio de vista. Lo voy a guardar, porque no le he dicho que me lo pregunte. Y entonces, si le doy ahora en el botón de Cerrar, funciona. Esta macro, la de CerrarFormulario, si me voy a la vista de Diseño también la puedo ejecutar desde aquí. Si le digo Ejecutar, ya directamente se cierra la ventana en la que estoy. ¿Por qué? Porque no cierra ningún objeto en concreto, sino el objeto en el que está. La ventaja que tenemos al poner las macros aparte es que después lo podemos ejecutar en un montón de sitios, mientras que si las incrustamos dentro del objeto, solo se ejecutará dentro de ese objeto.

Contenido