12.183 cursos gratis
8.735.473 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Capítulo 17:

 Algunos elementos avanzados de MS Access

Macros: conceptos y utilidades.

¿Qué es una macro?

Una macro es un conjunto de una o más acciones que cada una realiza una operación determinada, tal como abrir un formulario o imprimir un informe. Las macros pueden ayudar a automatizar las tareas comunes. Por ejemplo, puede ejecutar una macro que imprima un informe cuando el usuario haga clic en un botón de comando.

Imagen

Una macro puede ser una macro compuesta de una secuencia de acciones, o puede ser un grupo de macros. También se puede usar una expresión condicional para determinar si se llevará a cabo una acción en algunos casos cuando se ejecute la macro.

Una secuencia de acciones

La siguiente macro está compuesta de una serie de acciones. Microsoft Access lleva a cabo estas acciones cada vez que se ejecuta la macro. Para ejecutar esta macro se hace referencia al nombre de la macro Revisar Productos.

Imagen

Crear una macro.

1. En la ventana Base de datos, haga clic en Macros, bajo Objetos.
2. Haga clic en el botón Nuevo en la barra de herramientas de la ventana Base de datos.
3. En la columna Acción, haga clic en la flecha para presentar la lista de acciones.
4. Haga clic en la acción que desee utilizar.
5. Introduzca un comentario para la acción. Los comentarios son opcionales pero harán la macro más fácil de entender y mantener.
6. En la parte inferior de la ventana, especifique los argumentos de la acción, si es que se requiere alguno.
7. Para agregar más acciones a la macro, muévase a otra fila de acción y repita los pasos 3 a 6. Microsoft Access lleva a cabo las acciones en el orden en el que se enumeren.

Imagen

Sugerencia: Para crear rápidamente una macro que lleva a cabo una acción sobre un objeto de base de datos específico, arrastre el objeto desde la ventana Base de datos hasta una fila de acción en la ventana Macros. Por ejemplo, puede crear una macro que abra un formulario arrastrando el formulario a una fila de acción. Para hacer esto, haga clic en Mosaico vertical en el menú Ventana para posicionar la ventana Macros y la ventana Base de datos de forma que aparezcan una junto a otra en su pantalla; en la ventana Base de datos, bajo Objetos, haga clic en el tipo de objeto que desee, a continuación, en el objeto y, por último, arrástrelo hasta una fila de acción. Arrastrar una macro o un procedimiento agrega una acción que ejecuta la macro o el procedimiento, mientras que arrastrar otros objetos de base de datos agrega una acción que abre el objeto.

Sugerencias sobre cómo establecer argumentos de acción en una macro.

Después de agregar una acción a una macro, establezca los argumentos de la acción en la parte inferior de la ventana Macro. Estos argumentos dan a Microsoft Access información adicional sobre cómo llevar a cabo la acción. Estas son algunas sugerencias para el establecimiento de los argumentos de la acción:

a. Puede introducir un valor en un cuadro de argumento o, en muchos casos, puede seleccionar un valor establecido de una lista.

b. En general, es una buena idea establecer los argumentos de la acción en el orden en el que están listados, porque las opciones de un argumento pueden determinar las opciones de los argumentos que le siguen.

c. Si agrega una acción a su macro arrastrando un objeto de base de datos desde la ventana Base de datos, Microsoft Access establece de forma automática los argumentos apropiados para esa acción.

d. Si una acción tiene un argumento que requiere el nombre de un objeto de la base de datos, puede establecer de forma automática el argumento y el tipo de objeto correspondiente arrastrando el objeto desde la ventana Base de datos al cuadro del argumento.

e. Puede utilizar una expresión precedida de un signo igual (=) para establecer muchos argumentos de acción. Para obtener más información acerca del establecimiento de un argumento de acción específico, haga clic en él y presione F1.

Argumentos de la acción abrir formulario de una macro.

Imagen

Argumentos de la acción abrir informe de una macro.

Imagen

Crear grupos de macro.

Si tiene numerosas macros, agrupar las macros relacionadas en grupos de macros puede ayudar a administrar la base de datos más fácilmente. Para mostrar los nombres de las macros de un grupo de macros, haga clic en Nombres de macros en el menú Ver en la ventana Macro.
Con los grupos de macros puede ejecutar un procedimiento de validación distinto para cada control de un formulario, crear menús personalizados.

Por ejemplo, el siguiente grupo de macros, llamado Botones, está compuesto de tres macros relacionadas: Empleados, Productos, y Representantes. Cada macro lleva a cabo la acción AbrirFormulario, y la macro Productos lleva también a cabo la acción DesplazarTamaño.

Imagen

El nombre en la columna Nombre de macro identifica a cada macro. Cuando se ejecuta una macro en un grupo de macros, Access lleva a cabo la acción de la columna acción y cualquier otra acción que siga inmediatamente, cuya columna Nombre de macro esté en blanco.

Para crear un grupo de macros realice los pasos siguientes:

1. Pulse el botón Nuevo en la ficha Macro de la ventana de la base de dato para crear una macro.

2. Oprima el botón Nombres de macros en la barra de herramientas.

3. En la columna Nombre de macro introduzca un nombre para la primera macro y agregue en cada fila las acciones que va a realizar esa macro.

4. Repita los pasos 2 y 3 para cada una de las macros que forman el grupo.

Para ejecutar una macro en un grupo de macros, utilice el nombre del grupo de macros seguido de un punto y a continuación el nombre de macro. En el ejemplo anterior, para hacer referencia a la macro Empleados en el grupo de macros Botones, escribiría Botones.Empleados.

Otra forma de enlazar varias macros es a través de la llamada de una macro desde otra. Para llamar a una macro desde otra macro puede realizar los pasos siguientes:

1. En una de las filas de acción de una macro seleccione la acción EjecutarMacro (RunMacro) de la lista de acciones.

2. Escriba una expresión condicional en la columna Condición si desea que la otra macro llamada sólo se ejecute bajo cierta condición.

3. Escriba los argumentos de acción siguientes:

ArgumentosValor
Nombre de macroEl nombre de la macro que desea ejecutar
Número de repeticionesEl número de veces que se ejecutará la macro llamada. Si deja este argumento en blaco y el argumento Expresión de repeticiones también esta en blanco, la macro llamada se ejecutará una sola vez.
Expresión de repeticiónUna expresión que se evaluá como verdadera o falsa. Cuando se evalúa como falsa, se detiene la ejecución de la macro llamada y el programa la devuelve a la macro original.



Cuando abre un formulario en la vista diseño y arrastra hacia él una macro de la lista de macros de la ventana de base de datos, se creará un botón de comando en el formulario que permitirá ejecutar la macro desde el formulario. El nombre de la macro es el título del botón de comando. El nombre de la macro aparece en el cuadro de la propiedad AlHacerClic (OnClick) del botón de comando.

Adjuntar macros a botones en formularios:

Cuando se desplaza por los registros de proveedores de un formulario Proveedores, puede resultar conveniente ver los productos de cada proveedor en un formulario Lista de productos. Esto se obtiene con una macro.

Con una macro:

Puede ejecutar una acción AbrirFormulario en una macro que se ejecuta en respuesta al evento Clic de un botón comando del formulario Proveedor. Puede hacer que el formulario Lista de productos muestre los registros cuyo valor en el campo Id en la tabla base Proveedores coincida con el valor del campo Id del formulario Proveedores. Establezca el argumento de la Condición WHERE de la acción como se indica:

[Id]=Forms![Proveedores]![Id]

Usar condiciones en una macro.

Para mostrar la columna Condición, haga clic en Condiciones en el menú Ver en la ventana Macro. La siguiente macro ejecuta las acciones CuadroMsj y DetenerMacro sólo cuando la expresión en la columna Condición sea verdadera (cuando hay un valor Nulo en el campo IdProveedor).

Imagen

¿Por qué utilizar condiciones en una macro?

En algunos casos, puede desear llevar a cabo una acción o serie de acciones en una macro solamente si se cumple una condición en particular. Por ejemplo, si está utilizando una macro para validar los datos de un formulario, puede desear presentar un mensaje en respuesta a un conjunto de valores introducidos en un registro y otro mensaje en respuesta a otro conjunto diferente de valores. En casos como éstos, puede utilizar las condiciones para controlar el flujo de la macro.

Por ejemplo, la siguiente macro lleva a cabo la acción DetenerMacro cuando no haya valor en el campo País (cuando el valor es Nulo). Lleva a cabo una serie de pares de acciones CuadroMsj y CancelarEvento si la longitud o forma del valor CódigoPostal no es apropiado para el país del campo País.

Imagen

Una condición es una expresión lógica. La macro sigue las distintas rutas dependiendo de si la condición es verdadera o falsa. Introduzca condiciones en la columna Condición de la ventana Macros. Si se cumple una condición, Microsoft Access lleva a cabo la acción en esa fila. Puede hacer que Microsoft Access lleve a cabo una serie de acciones si la condición es verdadera introduciendo puntos suspensivos (...) en la columna Condición de las acciones que siguen inmediatamente a la condición.

Los pasos para introducir una expresión condicional en una macro son los siquientes:

1. En la ventana Macro, haga clic en el botón Condiciones en la barra de herramienta o en el menú Ver para que se muestre la columna Condición.

2. En la columno Condición, escriba una expresión en la fila donde desee establecer la condición(en dependencia de la acción donde se analizará la condición.

3. En la columna Acción, seleccione la acción que desee que ACCESS realice cuando la condición sea verdadera y establezca los argumentos de acción apropiados para la acción.

Cuando se ejecuta la macro, se evaluará cada expresión. Si la expresión es verdadera, se ejecutará la acción de esa fila y todas las acciones siguientes que contengan puntos suspensivos(...) en la columnoa Condición. Después continuará con la ejecución de las acciones cuya columna Condición esté en blanco, hasta llegar a otra expresión, a un nombre de macro o al final de la macro.

Si la expresión es falsa, entonces se ignorará la acción y cualquiera de las acciones siguientes que tengan puntos suspensivos en la columna Condición y pasará a la siguiente fila Acción que contenga una expresión o una columna Condición en blanco.

Ejemplos de condiciones de macro

Utilice esta expresiónPara llevar a cabo la acción si
[Municipio]=" Colón"Colón es el valor del campo Municipio del formulario desde el cual se ejecutó la macro.
DCont("[Id]", "Pedidos")>35Hay más de 35 entradas en el campo Id de la tabla Pedidos.
[FechaEntrega] Entre #2-Feb-2005# y #2-Mar-2005#El valor del campo FechaEntrega del formulario desde el cual se ejecuta la macro no es anterior al 2-Feb-2005 y no es posterior al 2-Mar-2005.
Forms![Productos]![Existencia]<5El valor del campo Existencia del formulario Productos es menor que cinco.
EsNulo([NombreEmpresa])El valor NombreEmpresa del formulario desde el que se ejecuta la macro es Nulo (no tiene valor). Esta expresión es equivalente a [NombreEmpresa] Es Nulo.
[Provincia]="Pinar del Rio" Y Forms![Ventas Totales]![TotalPedidos]>100El valor en el campo Provincia del formulario desde el que se ejecuta la macro es Pinar del Rio, y el valor del campo TotalPedidos del formulario Ventas Totales es mayor que 100.
[Provincia] En ("Ciudad Habana") y Len([Telef])<>7El valor en el campo Provincia del formulario desde el cual se ejecuta la macro es Ciudad Habana y el teléfono no es de 7 caracteres de longitud.
CuadroMsj(" ¿Confirmar cambios?" ,1)=1Haga clic en Aceptar en el cuadro de diálogo que presenta la función CuadroMsj. Si hace clic en Cancelar en el cuadro de diálogo, Microsoft Access ignora la acción.

Bibliografía

  1. Tutorial ACCES. Joven Club de Computación y Electrónica. 2007
  2. Aprenda Microsoft Access 97 Como si estuviera en primero. José María Sarriegui · Nicolás Serrano · Iván Muro
  3. Diseño de bases de Datos. Lic. Rosa M. Mato García. 1999
  4. Modelamiento de Datos. Conceptos Fundamentales. Marcela Varas C. 1999
  5. Manual SQL Server.

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratará tus datos para realizar acciones promocionales (vía email y/o teléfono).
En la política de privacidad conocerás tu derechos y gestionarás la baja.

Cursos similares a Diseño y creación de bases de datos



  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. SGBD. Sistemas gestores de bases de datos (primera parte)
SGBD, Sistemas gestores de bases datos, en un curso de informática serio, pero... [21/10/08]
8.228  
2. SGBD. Sistemas gestores de bases de datos (segunda parte)
En este curso de informática sobre los SGBD o Sistema gestores de bases de datos,... [21/10/08]
5.030  
3. Diseño de base de datos relacionales
Aprende a diseñar bases de datos relacionales.Conocer el origen, historia y la... [13/04/05]
24.659  

¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail