
Tareas automatizadas en Access
Las macros permiten encadenar y organizar instrucciones, facilitando la generación de sistemas y trabajos rutinarios
1 minuto de lectura'

Las bases de datos de Access están constituidas por diversos objetos: tablas, consultas, formularios e informes, entre otros. Con el tiempo, la cantidad de estos elementos puede crecer considerablemente, dificultando su ejecución directa. En muchas oportunidades, también, es necesario realizar un proceso que encadene varios de estos objetos y automatice su operación. Precisamente, para esto son útiles las macros de Access. Al igual que las herramientas similares de otros productos (Word o Excel), éstas también son programas o una serie de instrucciones que ejecutan paso a paso una determinada tarea. Sin embargo, a diferencia de esas aplicaciones, en que los comandos son grabados en forma automática a medida que son ejecutados, conformando luego un código escrito en el lenguaje Visual Basic for Applications, en Access las macro están compuestas por un conjunto de instrucciones directas, denominadas acciones, que cumplen las más variadas tareas, según el orden que les estipulemos.
Acciones a granel
Un ejemplo práctico de la creación y utilización de una macro requiere de una base de datos que contenga tablas, consultas y formularios. Si no tiene en su disco alguna, genere una base que contenga varios de estos elementos. Para crear una macro haga un clic en la solapa Macros de la ventana de contenedores de objetos, y a continuación apriete el botón Nuevo . Se abre una ventana que dispone de un esquema de filas y dos columnas, similar al utilizado para generar una tabla.
Estas dos columnas, tituladas Acción y Comentario (ésta sirve para escribir observaciones útiles), nos permitirán establecer en cada fila una instrucción. Esto último es muy importante, dado que el orden de ejecución de estas acciones estará dado por la ubicación, de arriba hacia abajo, de cada una de ellas.
Para establecer la primera, haga un clic sobre la celda compuesta por la primera fila y la columna Acción . Esta se transformará en un cuadro combinado (combo). Presione el botón de éste para desplegar la lista, por orden alfabético, de todas las acciones predeterminadas de que dispone Access.
En esta aplicación es conveniente que la carga y muestra de los datos se realicen mediante un formulario, porque resulta una interfaz más eficiente. Por lo tanto, seleccione la acción AbrirFormulario . De inmediato, al pie de la cuadrilla de renglones se abre un conjunto de propiedades de la instrucción (que varían según de cuál se trate), tituladas Argumentos de acción . Haga un clic en el cuadro del primero de éstos, Nombre del formulario , que se convertirá en un combo. Apriete el botón de éste para obtener la lista de todos los formularios pertenecientes a la base de datos.
Escoja uno de ellos y haga un clic sobre el nombre. De esta forma, se le indica a Access cuál es el formulario que debe abrir. El segundo argumento permite, al margen de las propiedades que se hayan establecido al crear el formulario, seleccionar qué tipo de formato de exhibición de datos queremos. Las opciones son Formulario , Diseño , Vista preliminar y Hoja de datos . Con el argumento Nombre del filtro se pueden seleccionar, mediante una consulta, sólo aquellos registros que cumplan una determinada condición. De idéntica forma pueden abrirse consultas, tablas, módulos (programas escritos en lenguaje de Access, un derivado del Visual Basic) y otros elementos.
Aporte de soluciones
Por lo general, las ventanas de los formularios suelen abrirse en un tamaño reducido. Para solucionar esto haga un clic en la segunda fila y seleccione la acción Maximizar , que carece de argumentos.
A continuación podemos automatizar, por ejemplo, la búsqueda de determinados valores en la tabla base del formulario (recuerde que éstos son pantallas cuyos campos muestran la información contenida, físicamente, en una tabla).
Para eso, ubíquese en la tercera fila, seleccione la acción BuscarRegistro y escriba como primer argumento de ésta el valor por buscar. Luego, haga un clic en el siguiente cuadro, Coincidir , y elija una de las tres formas posibles de búsqueda. Por lo general, asegúrese escogiendo la opción Cualquier parte del campo , si no está seguro de la correcta sintaxis del valor.
Mientras se realiza la búsqueda (la tabla puede contener numerosos registros), puede hacer aparecer en pantalla el clásico reloj de arena característico de Windows. En la siguiente fila cargue, entonces, la acción RelojDeArena . También, para dar cuenta de la finalización de la búsqueda, en la quinta fila establezca la acción Bip , que carece de argumentos.
De esta forma se pueden encadenar los distintos pasos que componen un proceso. En este sentido, existen acciones muy poderosas, que permiten transferir archivos ( TransferirBaseDeDatos , TransferirHojaDeCalculo , TransferirTexto ), agregar un menú ( AgregarMenú ), ejecutar una consulta que implique un filtro de registros ( AplicarFiltro ), cambiar el nombre a cualquier objeto de la base de datos ( CambiarNombre ), finalizar la utilización de objetos ( Cerrar ) y muchas más.
Una macro especial
Para ejecutar una macro, guárdela con un nombre adecuado. Luego, ubíquese en el contenedor de Macros y presione el botón Ejecutar (en forma directa use el botón con el signo de admiración de la barra de herramientas principal). También puede correrse una macro desde otra, utilizando la acción EjecutarMacro.
Access dispone del nombre exclusivo Autoexec para generar una macro de arranque automático. Si existe esta macro en la base de datos, basta con ordenar su apertura con el comando Archivo/Abrir, para que se autoejecute, corriendo todas las instrucciones que contiene. Esto es especialmente útil cuando se tiene un sistema de datos que debe ser utilizado por operadores que no son expertos en el manejo directo de Access.
Con esta macro, puede presentarse directamente la pantalla o formulario inicial del sistema. A partir de éste, mediante botones de comando u otros comandos, el usuario puede realizar todas las operaciones disponibles.






