jueves, 13 de diciembre de 2018

Macros

¿Qué es una macro?

Una macro es una herramienta que permite automatizar tareas y agregar funcionalidad a los formularios, informes y controles. Por ejemplo, si agrega un botón de comando a un formulario, asociar el evento de OnClick del botón a una macro y esta macro contiene los comandos que desea que realice cada vez que se hace 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 a realizar. Cuando se crea una macro, seleccione cada acción de una lista desplegable y, a continuación, rellene la información necesaria para cada acción. Las macros permiten agregar funcionalidad a formularios, informes y controles sin escribir código en un módulo Visual Basic para aplicaciones (VBA). Las macros proporcionan un subconjunto de los comandos disponibles en VBA y la mayoría de las personas más fácil generar una macro que to escribir el código VBA.
Por ejemplo, suponga que desea iniciar un informe directamente desde uno de los formularios de entrada de datos. Puede agregar un botón al formulario y, a continuación, cree una macro que inicie el informe. La macro puede ser una macro independiente (un objeto independiente en la base de datos), que se enlaza al evento OnClick del botón o la macro puede estar incrustada directamente en el evento OnClick del botón propio: una nueva característica de Office Access 2007. En ambos casos, al hacer clic en el botón, la macro se ejecuta e inicia el informe.
Las macros se crean con el Generador de macros, que se muestra en la siguiente ilustración.
Generador de macros
Para mostrar el generador de macros:
  • En la ficha crear, en el grupo otros, haga clic en macros. Si este comando no está disponible, haga clic en la flecha situada debajo del módulo o el botón del Módulo de clase y, a continuación, haga clic en macrosImagen del botón
    Sugerencia: El generador de macros se ha rediseñado en Access 2010 para que sea aún más fáciles de crear, modificar y compartir macros de Access.

Obtener información sobre macros

El término macro con qué frecuencia se usa para hacer referencia a objetos de macro independientes (es decir, los objetos que se ven en Macros en el panel de navegación), pero en realidad, un objeto macro puede contener varias macros. En ese caso, se conoce como un grupo de macros. Se muestra un grupo de macros en el panel de navegació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 de la columna Nombre de Macro identifica cada macro.
Una macro consta de acciones de macro individuales. Mayoría de las acciones requiere uno o más argumentos. Además, puede asignar nombres a las macros de un grupo de macros y puede agregar condiciones para controlar cómo se ejecuta cada acción. Las secciones siguientes describen cada una de estas características con más detalle.

Nombres de macro

Si el objeto de macro contiene solo una macro, nombres de macro son necesarios. Solo puede hacer referencia a la macro por el nombre del objeto de macro. Sin embargo, en el caso de un grupo de macros, debe asignar un nombre único para cada macro. Si la columna Nombre de Macro no está visible en el generador de macros, haga clic en Nombres de Macro Imagen del botón en el grupo Mostrar u ocultar en la pestaña Diseño. Para obtener más información acerca de cómo ejecutar macros en grupos de macros aparece más adelante en este artículo.

Argumentos

Un argumento es un valor que proporciona información a la acción, como la cadena que se muestre en un cuadro de mensaje, qué control para operar, y así sucesivamente. Algunos argumentos son necesarios y otros son opcionales. Argumentos son visibles en el panel Argumentos de acción en la parte inferior del generador de macros.
Especificar argumentos de acción
Una nueva característica de Office Access 2007 generador de macros es la columna argumentos, que permite ver (pero no editar) los argumentos de la acción en la misma línea que la acción. Esto facilita un poco más fácil leer la macro porque ya no tiene que seleccionar cada acción para mostrar sus argumentos. Para mostrar la columna argumentos, haga clic en argumentos Imagen del botón en el grupo Mostrar u ocultar en la pestaña Diseño.

Condiciones

Una condición especifica ciertos criterios que deben cumplirse antes de que se realizará una acción. Puede usar cualquier expresión que se evalúa como verdadero o falso o sí/no. La acción no se ejecutará si la expresión se evalúa como falso, No, o 0 (cero). Si la expresión se evalúa como cualquier otro valor, se ejecutará la acción.
Puede tener el control de una condición más de una acción escribiendo puntos suspensivos (...) en la columna condición para cada acción subsiguientes que desea aplicar a la condición. Si la expresión se evalúa como falso, No, o 0 (cero), ninguna de las acciones se realizan. Si la condición se evalúa como cualquier otro valor, se realizan todas las acciones.
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 Imagen del botón .
Use esta expresión para realizar la acción
If:
[Ciudad]="París"
París es el valor de Ciudad en el campo del formulario desde el que se ejecutó la macro.
DCont ("[IdPedido]", "pedidos") > 35
Hay más de 35 entradas en el campo IdDePedido de la tabla Pedidos.
DCont ("*", "Detalles de pedido", "[IdPedido] = Forms! [ ¡Pedidos]! [IdPedido] ") > 3
Hay más de 3 entradas en la tabla de detalles de pedido para que el campo IdPedido de la tabla coincide con el campo IdPedido del formulario Pedidos.
[FechaEnvío] Entre #2-Feb-2006 # y #2 de marzo de 2006 #
El valor del campo FechaEnvío del formulario desde el que se ejecuta la macro es no anterior al 2 de febrero de 2006 y no es posterior al 2 de marzo de 2006.
¡Formularios! [Productos]! [Panel] < 5
El valor del campo UnidadesEnExistencias del formulario Productos es inferior a 5.
EsNulo([Nombre])
El valor nombre del formulario desde el que se ejecuta la macro es nulo (no tiene ningún valor). Esta expresión es equivalente a [nombre] es nulo.
[País] = "Reino Unido" y formularios! [Ventas totales]! [TotalPedidos] > 100
El valor en el campo país o región en el 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 Len([PostalCode]) <> 5
El valor en el campo país o región en el formulario desde el que se ejecuta la macro es Francia, Italia o España y el código postal no tiene 5 caracteres.
CuadroMsj("¿Confirmar cambios?";1)=1
Hacer clic en Aceptar en un cuadro de diálogo en el que la función CuadroMsj muestra "Confirmar changes?". Si hace clic en Cancelar en el cuadro de diálogo, Access omite la acción.
[TempVars]! [MsgBoxResult] = 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 Falso como condición. Omitir temporalmente una acción puede ser útil al solucionar problemas de una macro.

No hay comentarios.:

Publicar un comentario