Artículo original publicado el lunes, 25 de abril de 2011

Las macros desempeñan un papel mucho más importante en Access 2010 que en las versiones anteriores. De hecho, el uso de macros es la única manera de automatizar tareas en objetos web y en las aplicaciones que se publican en Servicios de Access.

Una de las áreas que ha provocado confusión tiene que ver con el uso de la sintaxis correcta en una macro.

En primer lugar, hay dos clases de argumentos de macro, cada una de los cuales requiere una sintaxis muy diferente.

La primera clase de argumento de macro es una cadena. Un ejemplo es el argumento Message de la acción de macro MessageBox. Para especificar un mensaje, escriba una cadena en el argumento, sin las comillas:

 

Sin embargo, también puede escribir una expresión en este argumento especificando un signo igual y, a continuación, una expresión. Al igual que todas las expresiones, las cadenas deben delimitarse entre comillas:

La otra clase de argumento se expresa en forma de una expresión. Un ejemplo de este tipo es el argumento WhereCondition de la acción de macro SetFilter. En el Diseñador de macros, estos argumentos muestran un signo igual antes y fuera del cuadro de texto del argumento, para resaltar al usuario que el argumento debe expresarse en forma de una expresión. 

 

Consideraciones importantes al usar argumentos de expresión

¿Qué es una "expresión doble" y por qué es importante?

Una "expresión doble" o "evaluación doble" se produce siempre que una expresión está anidada dentro de otra. En un argumento de expresión, si se escribe un signo igual (=) en el cuadro de texto, la expresión se evaluará dos veces: una vez para el signo igual y otra para el signo igual que aparece antes y fuera del cuadro de texto del argumento.

¿Por qué es importante? Porque si va a usar un argumento de expresión en una macro de base de datos web, la sintaxis debe ser correcta o se producirá un error en tiempo de ejecución cada vez que se ejecute la macro. La expresión doble no se admite en las aplicaciones de Servicios de Access. Si tiene un argumento de macro que da lugar a una expresión doble, se producirá un error en tiempo de ejecución cada vez que se ejecute la macro.

En resumidas cuentas: si va a usar un argumento de expresión en una macro de base de datos web, no escriba un signo igual al principio de la expresión.

En general...

Si va a usar un argumento de expresión en una macro de base de datos cliente, no debe escribir un signo igual al principio de la expresión a menos que tenga una necesidad específica para ello. Nota: la evaluación doble da lugar a un rendimiento muy ligero cada vez que se ejecuta la macro.

Independientemente del tipo de base de datos, todas las cadenas de los argumentos de expresión deben ir entre comillas.

Esta entrada de blog es una traducción. Puede consultar el artículo original en Using the right syntax when publishing Access macros to Web databases