¿Cuáles son los argumentos de macro?
Las acciones de macro necesitan determinada información complementaria antes de que Access pueda ejecutarlas. Cada unidad de información se denomina argumento de acción, varía en función de cada acción y puede incluir, por ejemplo, el nombre del objeto sobre el que recae la acción o los criterios de selección de registros sobre los que se ejecuta la acción.
Antes de determinar una acción de macro hay que conocer las prestaciones de este tipo de elementos. En la Ayuda de Microsoft Access puede encontrar información detallada sobre acciones de macro y argumentos. Para obtener información sobre una determinada acción basta con escribir el nombre de la acción en el cuadro Formular una pregunta y seleccionar el tema que coincida con el nombre de la acción que se ha especificado.
También se puede obtener ayuda en pantalla y de contexto durante el proceso de creación de una macro. Cuando se selecciona una acción de macro en la lista combinada de la columna Acción, en el cuadro de ayuda en pantalla situado en la parte inferior de la ventana aparece información relativa a la acción. Si quiere obtener información adicional, pulse F1.
Una vez definida una acción en la celda correspondiente de la columna Acción, en la parte inferior de la macro se muestra los argumentos de la acción seleccionada. Cuando se pulsa sobre un cuadro de argumento, la ayuda de pantalla cambia y muestra información sobre ese argumento. En muchos casos se puede definir el valor de un argumento con sólo seleccionarlo en la lista combinada.
Cuando se puede definir un argumento con una expresión, como el argumento de acción Condición WHERE de la acción Abrir formulario, aparece un botón Generar (…) en la parte derecha del cuadro de argumento que le permite abrir el Generador de expresiones. Access establece de forma automática los valores predeterminados de determinados argumentos de acción obligatorios; cuando no se define un valor predeterminado para un argumento, el cuadro de ayuda en pantalla indica si el argumento es obligatorio o no.
Acciones comunes de macro
En este apartado analizaremos algunos ejemplos de acciones de macro de es-pecial importancia:
- EstablecerValor. Acción que se utiliza para realizar cálculos y definir va-lores y propiedades en formularios e informes.
- EjecutarComando. Le permite ejecutar un comando predeterminado.
- CuadroMsj. Acción que sirve para mostrar un cuadro de mensaje personalizado.
- EnviarTecIas. Le permite enviar pulsaciones de teclas.
- RepintarObjeto y NuevaConsulta. Acciones que se utilizan para mostrar los datos actuales.
Configuración de valores
Una tarea muy común en la programación de macros es modificar el valor de un formulario o de un informe. Se pueden modificar los siguientes elementos:
- Un valor de datos en la fuente de registros base de un formulario o informe.
- El valor de una propiedad de un formulario o informe o de uno de sus con-troles o secciones.
- Un valor que haya que calcular y almacenar en un control independiente de un formulario pero que no sea un valor calculado.
Para poder efectuar estos cambios tenemos que utilizar la acción de macro EstablecerValor que tiene dos argumentos, Elemento y Expresión.
El argumento Elemento
El argumento Elemento es la referencia al campo, control o propiedad que se quiere definir. Para ello, el formulario o informe que se vaya a usar debe estar abierto. Habitualmente se utilizan referencias completas y válidas al elemento que se quiere establecer. A continuación se incluyen algunos ejemplos:
Truco: Cuando se indica la referencia en un argumento Elemento, no es necesario incluir el objeto o el nombre de la propiedad entre corchetes si el nombre no contiene espacios o símbolos especiales. Cuando se sale del cuadro de argumento. Access cierra cada parte de la referencia con corchetes. Por ejemplo, Access cambia Forms ! Categorías . Título por [Forms] ! [Categorías] . [Título],
Si la macro en la que se incluye la acción EstablecerValor se ejecuta desde el formulario o informe que contiene el campo, control o propiedad que se quiere definir, se puede utilizar una referencia breve o no cualificada. Si el campo, control o propiedad se encuentra en el formulario o informe activo en el momento en que Access ejecuta la acción EstablecerValor, se pueden usar las propiedades del objeto Screen (Pantalla) para hacer referencia al elemento, como se puede apreciar en los siguientes ejemplos:
Cómo definir valores en un formulario
La acción EstablecerValor se puede utilizar en un formulario para definir el valor de un control vinculado o el de un control independiente que no sea calculado. Cuando se realiza esta operación Access no comprueba la propiedad Regla de validación del control ni la propiedad Máscara de entrada de un campo o de un control.
También se puede definir el valor de un campo de la tabla base incluso si no hay un control vinculado al campo, utilizando para ello la construcción Formularios!nombredeformulario!nombredecampo para hacer referencia directamente al campo.
Cuando se trabaja con un formulario y se modifican los valores de los datos o se añaden nuevos valores o registros, los controles y el formulario reconocen todos los eventos de datos que aparecen en la ficha Eventos de las distintas hojas de propiedades.
Conviene saber que la mayoría de los eventos de datos que tienen lugar cuando se trabaja de forma interactiva no se producen cuando se utiliza la acción de macro EstablecerValor para cambiar valores de datos o bien añadir nuevos valores. Por ejemplo, cuando se utiliza esta acción, el control no reconoce los eventos Antes de actualizar, Después de actualizar o Al cambiar.
Sin embargo, al guardar el registro, el formulario sí reconoce los eventos Antes de actualizar y Después de actualizar. Cuando se utiliza la acción EstablecerValor para definir los valores de un nuevo registro, el formulario no reconoce los eventos Antes de insertar y Después de insertar.
Cómo definir valores en un formulario
Cuando se utiliza la acción EstablecerValor en un informe, las normas cambian ligeramente. Esta opción le permite definir el valor de un control sólo si la propiedad Origen del control está en blanco, esto es, siempre y cuando el control sea un control independiente y no calculado.