Funcionamiento de macros y expresiones en Access 2010 (traducción automática)

Office 2010
Nota importante Importante

Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Resumen:  Microsoft Access 2010 presenta una nueva característica conocida como macros de datos, que permite escribir macros adjuntas a tablas. El diseñador de macros también se ha mejorado. Conozca estas opciones y explore los ejemplos de código relacionados.

Última modificación: miércoles, 06 de abril de 2011

Hace referencia a: Access 2010 | Office 2010

Applies to:Microsoft Access 2010
Publicado: septiembre de 2010
proporcionado por:Frank Rice, Microsoft Corporation    

Contenido

Introducción

los desarrolladores Microsoft Access 2010, principalmente, dislike escribir macros. Las macros, excepto en determinadas circunstancias (por ejemplo, la creación de autokeys y la macro AutoExec), se consideran como ciudadanos de second-class en el mundo de extensibilidad de aplicaciones. Son a los usuarios de Microsoft Access empezar a trabajar antes de pasar a Microsoft Visual Basic para la programación de aplicaciones (VBA). Mientras que las acciones que se utiliza en la escritura de macros (derivados del objeto DoCmd) se corresponden con los métodos que se utilizan en VBA, pales de interfaz de diseñador de macros en comparación con la experiencia enriquecida que se muestra en el Editor de Visual Basic.

Con el lanzamiento de Access 2010, hay varias características nuevas de diseño de la macro y el uso que atraerá a los desarrolladores y tanto el usuario. Éstos incluyen un diseñador de macros mejoradas, las macros de la tabla de base de datos y los cambios realizados en la forma de crear expresiones. El Diseñador de macros mejorada le ayuda a crear macros que son más flexibles y fáciles de leer y seguir. Las macros ahora se pueden vincular a tablas para que la macro hereda de cualquier objeto que se crea basándose en esa tabla. El generador de expresiones dispone ahora de IntelliSense para facilitar la creación de expresiones.

En este artículo, trataré el nuevo diseñador de macros. También le mostraré cómo crear macros de los datos mediante el Diseñador de macros. Por último, describiré algunos cambios en el generador de expresiones.

Diseñador de macros

Access 2010 tiene un nuevo diseñador de macros que resulta muy fácil crear macros complejas al tiempo que reduce los errores de codificación. Utilizar el diseñador para ello, utilice la reutilización de las listas, IntelliSense, lista desplegable de las macros existentes, la funcionalidad de arrastrar y colocar y las acciones de copiar y pegar.

Los desarrolladores apreciarán la interfaz de usuario mejorada que ayuda a facilitar un flujo lógico sin problemas de las acciones con la construcción del bloque condicional. También es fácil de compartir las macros, ya sea por correo electrónico, las páginas web o blogs y grupos de noticias.

Si alguna vez ha creado las macros en las versiones anteriores de Microsoft Access, está familiarizado con el generador de macros de tres columnas (consulte la figura 1). Se agregan instrucciones condicionales en la columna Condición, agregarán acciones de macro en la columna Acción y los parámetros especificados en la columna Argumentos.

La figura 1. La versión antigua del creador de la macro

Versión heredada del creador de macros

En el nuevo diseñador de macros para Access 2010, el diseño más parecida a un editor de texto. Las tres columnas han desaparecido. En su lugar, son las acciones y las instrucciones condicionales que se muestran en un formato familiar de arriba a abajo utilizado por los programadores. Los argumentos son los muestra en línea en un cuadro de diálogo como se muestra en la figura 2.

La figura 2. Diseñador de macros

Diseñador de macros

Agregar una nueva acción o una instrucción condicional es sencillo. O bien selecciónelo en la lista desplegable de acciones, en el menú contextual, o seleccionarlo desde el panel de Catálogo de acciones (que se muestra en la figura 3) a la derecha del Diseñador de macros.

La figura 3. Catálogo de acción

Catálogo de acciones

Haga doble clic en la acción o arrastrar y colocar, el Diseñador de macros. De forma predeterminada, el catálogo de la acción y el cuadro combinado de Agregar nueva acción mostrar las acciones que se ejecutan en bases de datos que no sean de confianza. Para ver todas las acciones, haga clic en el comando Mostrar todas las acciones en la cinta de opciones (figura 4).

La figura 4. Mostrar todas las acciones comando en la cinta de opciones

Comando Mostrar todas las acciones de la cinta de opciones

Puede contraer algunos o todos los bloques de código, haga clic en los extensores para el tamaño izquierdo del bloque de código. También puede contraer o expandir los bloques de código con la expansión o contraer los controles del grupo de expandir o contraer en la cinta de opciones. La figura 5 muestra una versión contraída de la macro que se muestra en la figura 2.

La figura 5. Puede contraer bloques de código

Bloques de código contraídos

El catálogo de la acción tiene una capacidad de búsqueda que le permite escribir en un término y tener Microsoft Access filtro y mostrar los elementos que coinciden con ese término. El cuadro de búsqueda del catálogo de la acción no sólo examina el nombre de la acción, sino que también incluye la descripción de acción. Por ejemplo, buscar consultas. No sólo los resultados de búsqueda mostrar acciones con la palabra de consulta en ellos, pero también ApplyFilter, GoToRecord y ShowAllRecords con consultas en la descripción.

También puede agregar comentarios a las macros, escriba / / en una lista de Agregar nueva acción: hacia abajo del cuadro o arrastrando el nodo de Comentarios en el catálogo de la acción. Los comentarios aparecen como texto de color verde, tal como se muestra en la figura 2. Esto garantiza que los comentarios son fáciles de encontrar y se pueden utilizar para separar las secciones en el procedimiento. Volver a organizar el código de macro también es fácil. Bloques de código de arrastrar y colocar en la nueva ubicación o utilice el verde arriba y abajo flechas (consulte la figura 5) en los bloques dentro del panel de acciones.

El Diseñador de la macro introduce una nueva construcción de flujo de programa llamada grupo de bloques. Bloques de grupo facilitan la tarea colocar varias macros en un grupo que se expande o contrae como una unidad para facilitar su lectura.

En el generador de macros en las versiones anteriores de Microsoft Access, puede crear sencillas instrucciones condicionales mediante el uso de la columna Condición. En el Access 2010 Diseñador de macros, puede crear más versátiles de las instrucciones de If agregando ElseIf y Else instrucciones. Para agregar estas instrucciones, seleccione el bloque If y, a continuación, haga clic en el texto de ElseIf o Si no texto en la parte inferior derecha del bloque de código. Por ejemplo, haga clic en el texto de ElseIf y aparece un cuadro de diálogo ElseIf. A continuación, mientras se escribe en el cuadro condición, Microsoft Access utiliza IntelliSense para mostrar los identificadores de las funciones y otros elementos de la base de datos.

El Diseñador de macros, junto con IntelliSense, también proporciona diversos tipos de ayuda. Éstas son las siguientes:

  • Autocompletar muestra una lista de palabras que coincidan con un objeto, función o parámetro después de escribir caracteres suficientes para identificar el término. Puede aceptar la sugerencia, presione ENTRAR o TAB, o siga escribiendo el nombre.

  • Información rápida muestra la sintaxis correcta para cualquier identificador de la macro o la expresión. Coloque el mouse (ratón) para que el puntero está sobre un identificador y verá su información de declaración que se muestra en un cuadro de diálogo.

  • QuickTips proporciona información adicional acerca de un componente de interfaz de usuario cuando se selecciona un valor mediante la función Autocompletar.

Incluso con todas las mejoras en el Diseñador de macros, muchos programadores desearán todavía convertir macros a código VBA. Para ello, puede utilizar el comando Convertir macros a Visual Basic en la cinta de opciones.

En la sección siguiente, crea una macro de datos mediante el Diseñador de macros.

Macros de datos de creación

Las macros de los datos son una novedad de Access 2010. Las macros de los datos permiten adjuntar la lógica para los registros y las tablas (similares a los desencadenadores de SQL Server). Es decir, escribir la lógica en un solo lugar y todos los formularios y el código que agregar, actualizar o eliminar datos de una tabla heredan esta lógica. Las macros de los datos abren varios escenarios:

  • Compruebe el valor de un campo antes de permitir la adición de otro registro

  • Mantener un historial de los cambios a un registro

  • Generar un mensaje de correo electrónico cuando cambia un valor de campo

  • Comprobar la exactitud de los datos en una tabla

(En este documento se denominan macros) de macros heredadas seguirán existan aunque sólo se pueden llamar desde un evento de formulario, otra macro, un evento de informe o el código VBA.

Hay dos tipos generales de las macros de los datos: las macros de "eventos" que se desencadenan cuando algunas se realiza una acción a los datos en una tabla y independiente "denominado" las macros que se ejecutan cuando se les llama por su nombre. Se puede programar una macro de datos para ejecutar inmediatamente después de agregar, actualizar o eliminar eventos de datos, o inmediatamente antes de eliminar o cambiar el evento.

Las macros de los datos pueden devolver valores macros con ReturnVars. ReturnVars en las macros de los datos son similares a los valores devueltos por las llamadas de función o método de VBA o en otros lenguajes de programación. Esto permite mostrar la interfaz de usuario en la macro llamada, según lo que sucede en la macro de datos. En la macro de datos, debe especificar el ReturnVars mediante el comando SetReturnVar tal como se muestra en la figura 6. Estos valores se establecen en las macros con el nombre de datos.

La figura 6. SetReturnVar devuelve valores para las macros

SetReturnVar devuelve valores a las macros

Para hacer referencia a variable en una macro, utilice el comando ReturnVars que se muestra en la siguiente instrucción.

=[ReturnVars]![retrunVar1]
NotaNota

Lógica de la macro de datos sólo funciona con tablas locales, tablas vinculadas no aunque se puede solventar esto cuando se utiliza un Access front-end y back en Access mediante la adición de las macros de los datos a la tabla de origen.

Las macros de los datos son útiles porque reducen la confusión en las bases de datos al reducir la necesidad de asociar la misma macro a una serie de formularios. Al agregar la lógica de la tabla, cualquier formulario que se crea basándose en esa tabla hereda la lógica. También se pueden garantizar la integridad de los usuarios datos mediante el uso de las macros de los datos. Se supone que se desencadene un evento en un formulario vinculado a la tabla sin una macro de datos. Si el usuario tiene acceso a las tablas, o bien, puede ejecutar consultas, puede pasar por alto el formulario, por tanto, omitan la lógica. Puede restringir el acceso a las tablas y prohibir la ejecución de consultas, pero no puede hacerlo en cualquier circunstancia. Al agregar la lógica directamente a la tabla, la acción se activa aunque el usuario realice el cambio fuera del formulario.

Macros de los datos son compatibles con la lista de eventos en la tabla 1.

eventos

Se utiliza

BeforeChange

Puede que desee:

  • Activar un mensaje de error y bloquear el cambio

  • Compare el nuevo valor para el nuevo valor y abrir otro formulario

BeforeDelete

Puede que desee:

  • Activar un mensaje de error y detener la eliminación

  • Mostrar un formulario de pedido para cambiar el orden del elemento

AfterUpdate, AfterInsert, AfterDelete

Puede que desee:

  • Generar un mensaje de correo electrónico

  • Recorra en iteración un conjunto de registros y actualizar su estado

Haga doble clic para crear una macro de datos de evento, en primer lugar, en el panel de exploración izquierda, en el nombre de la tabla que desea que la macro de datos adjunta. En la ficha de la Tabla, en el grupo de Eventos antes de o el grupo de Eventos después, haga clic en el evento al que desea agregar la macro. Microsoft Access muestra el generador de macros. Si ya ha creado una macro para este evento, se abre el generador de macros para esa macro.

Para crear una macro con nombre, en el panel de exploración izquierda, haga doble clic en el nombre de la tabla que desea que la macro de datos adjunta. En la ficha de la Tabla, en el grupo de Macros con nombre, haga clic en Con nombre de macro y, a continuación, haga clic en Crear la macro con nombre. Microsoft Access muestra el generador de macros.

Tenga en cuenta en el ejemplo siguiente. Suponga que tiene un sistema de pedidos que supervisa los niveles de los productos del inventario. En este sistema, cuando el número de elementos disponibles cae por debajo de determinados niveles, que desee avisar al personal de que los niveles de bajos o que necesita pedir más productos. Para ello, crea una macro de datos en la tabla de artículos. De este modo, cuando se crea un formulario que se basa en la tabla, la lógica que debe tener ya está disponible.

Para crear la macro de datos, crear una tabla de ejemplo con el nombre de Elementos con los siguientes campos.

Tabla 2. Datos de ejemplo

Nombre

Tipo

Elemento

Texto

Cantidad

Número (entero largo)

Estado

Texto

Guarde la tabla y agregue los siguientes datos para la columna del Elemento si deja el resto de columnas en blanco.

Tabla 3. Agregue estos datos a la tabla

Café

Refresco

Agua

Para agregar la macro, seleccione la tabla y en Herramientas de tabla en la ficha Campos, haga clic en la lista de Vistas lista desplegable y, a continuación, haga clic en Vista Hoja de datos. Con la tabla en la vista Hoja de datos, en Herramientas de tabla, haga clic en la ficha Tabla y, a continuación, haga clic en el botón de eventos Antes de cambiar. ¿Por qué utilizar el evento Before Change en lugar del evento After Change? Como regla general, es mejor utilizar el evento Before Change para modificar y ejecutar código adicional, en lugar de para permitir que la tabla actualizar el registro y entonces crear modificaciones adicionales en el mismo registro que acaba de guardar en la tabla. El desencadenador de tabla de eventos After Change es mejor utilizar acumulados y guardar los valores en otras tablas. Por ejemplo, el mantenimiento de los totales de inventario cuando se cambia un valor de cantidad. En estos tipos de escenarios, por lo general se modifica una tabla diferente.

A continuación, cree la instrucción If...Then...Else que se desencadena cada vez que realice un cambio en la tabla. En el elementos: antes de cambiar, haga clic en la lista desplegable y, a continuación, haga clic en If. Para agregar la condición a la instrucción If, escriba después de la instrucción If. Observe que dispone de IntelliSense. Seleccione la tabla de Elementos. Después del identificador de [elementos de], escriba un punto y, a continuación, seleccione la Cantidad. Después de la Cantidad, escriba entre 50 Y 100. Esto establece la condición de que si la cantidad de artículos que se encuentra entre 100 y 50, se activa esa parte de la instrucción If.

En el lado derecho de la pantalla, el catálogo de acciones contiene una lista de las acciones disponibles y los operadores de flujo de programa para ese evento concreto. Haga clic en EstablecerCampo y arrástrelo hasta el bloque de instrucción If. En el cuadro Nombre, escriba Items.Status. En el cuadro Valor, escriba "niveles bajo" (con las comillas). Cuando la cantidad de artículos es entre 50 y 100, se cambia el texto de Estado.

Haga clic en la instrucción If nuevo y tenga en cuenta que, en la derecha inferior del bloque, son las opciones Agregar Si no y Agregar O si. Haga clic en la opción Agregar O si al agregar ese bloque. En el cuadro condición, escriba Items.Quantity < 50. En el panel de acciones del catálogo, arrastre EstablecerCampo al bloque O si. En el cuadro Nombre, escriba Items.Status y en el cuadro Valor, escriba "pedido ahora!" (con las comillas). Cada vez que la cantidad de productos está por debajo de 50, se cambia el texto del campo Estado.

Haga clic en la instrucción O si y, a continuación, haga clic en Agregar Si no. Arrastre EstablecerCampo en el bloque Si no. En el cuadro Nombre, escriba Items.Status y en el Valor del cuadro, escriba "", una cadena vacía. Esto indica que si el número de elementos es mayor que 100, establezca el campo Estado en blanco. La macro debe ser ahora similar en la figura 7.

La figura 7. La macro de datos completado

Macro de datos completada

Guarde y cierre la macro haciendo clic con el elementos: antes de cambiar y, a continuación, haga clic en Cerrar.

Para probar la macro, con la tabla en la vista Hoja de datos, cambiar la cantidad de café y 100, haga clic en el registro de y observe cómo se cambia el texto del campo Estado en Niveles de baja. Cambiar la cantidad de Sodas 49 y el campo Estado cambia a pedido ahora!. Cambiar la cantidad de té a 101. El campo Estado permanece en blanco. Todo esto se muestra en la figura 8.

La figura 8. Cambios de campo de estado cuando cambie la cantidad

El campo de estado cambia al cambiar la cantidad

Otra opción disponible con las macros de los datos con nombre es la capacidad de pasar los parámetros. Los parámetros se utilizan a menudo para mejorar el rendimiento de la base de datos porque obliga a los desarrolladores y usuarios para limitar los conjuntos de datos antes de que se ejecuta la macro. Como resultado, las macros con mayor rapidez, menos carga en los servidores de base de datos y el tráfico de red más pequeño. Los parámetros también agregar flexibilidad porque puede volver a utilizar una macro sin ninguna modificación. Puede agregar parámetros a datos con nombre de macros haciendo doble clic en la tabla que desea asociar la macro indicada en. En la ficha de la Tabla, en el grupo de Macros con nombre, haga clic en la flecha de lista desplegable Con nombre de macro y, a continuación, haga clic en Crear la macro con nombre. En la parte superior del generador de macros (consulte la figura 9), haga clic en Crear parámetro.

La figura 9. Crear la opción de parámetro en el generador de macros

Opción Crear parámetro del Generador de macros

Depurar macros de los datos no es una experiencia tan amplio como para otro código de programación. No se puede recorrer el código o utilizar la opción de cuadro de mensaje. Sin embargo, puede utilizar la tabla de registro de aplicación con el OnErrorRaiseError y acciones de macro LogEvent para ayudar a encontrar errores de macro de datos. La tabla de registro de aplicación es una tabla de sistema (conocido como USysApplicationLog) que no se muestra en el panel de exploración de forma predeterminada. Si se produce un error en una macro de datos, puede indicar a qué ha ocurrido al ver la información de la tabla de registro de aplicación.

Para mostrar la tabla de registro de aplicación, haga clic en la ficha de Archivo para mostrar la vista backstage. En la ficha Información, haga clic en Ver la tabla de registro de aplicación. Si no ve el botón Ver la tabla de registro de aplicación, esto significa que una tabla de registro de aplicación no se han creado para esta base de datos. Cuando se registra un suceso, por ejemplo, mediante el LogEvent o RaiseError acciones de macro, el botón aparece en la ficha de Información.

Generador de expresiones

El generador de expresiones es una herramienta que le ayudarán a crear expresiones. Puede iniciar el generador de expresiones desde la mayoría de los sitios en Microsoft Access donde se escriben expresiones. Las tablas y campos, las consultas, formulario y las propiedades del informe, controles, las consultas y macros pueden utilizar expresiones para evaluar datos o lógica para controlar el comportamiento de una aplicación. Ofrece un acceso fácil a los nombres de campos y controles de la base de datos, así como muchas de las funciones integradas disponibles para cuando se escriben expresiones. Con el generador de expresiones, puede crear una expresión desde cero, o puede seleccionar de algunas expresiones previamente generadas para mostrar los números de página, la fecha actual y la fecha y hora actuales, por ejemplo.

En Access 2010, el generador de expresiones ha experimentado cambios significativos. Al utilizar el generador de expresiones mejorado (vea figura 10), es posible escribir expresiones con mayor rapidez y con menos errores.

La figura 10. Generador de expresiones en Access 2010

Generador de expresiones en Access 2010

El generador de expresiones incluye nuevas características y una interfaz de usuario más sencilla. Ya no debe recordar sintaxis y las funciones disponibles o las propiedades. El nuevo generador de expresiones tiene IntelliSense que proporciona toda la información que necesita cuando escriba una expresión.

Además, la nueva interfaz de usuario utiliza revelación progresiva que significa que se muestran sólo las funciones y propiedades que se encuentran en un contexto determinado. En versiones anteriores de Microsoft Access, cada uno de los contextos en los que se utiliza una expresión comparte un evaluador de expresiones única y común. Esto significa que independientemente de donde se usa una expresión, las funciones y operadores disponibles, en muchos casos, el mismo. En Access 2010, el generador de expresiones es sensible al contexto. Por ejemplo, la función FormatDateTime no está disponible en el contexto de una tabla, pero está disponible en todos los demás contextos. Fíjese también en la figura 10 desaparecen los botones de operador. Los operadores están disponibles en el panel de elementos de expresiones. Todos estos cambios de claridad, tomar decisiones mucho más fácil de administrar y proporcionan más área de edición.

En el Diseñador de macros y en otros lugares de Access 2010 en el que desea utilizar para crear una expresión, haga clic en el icono que aparece en la figura 11 muestra el generador de expresiones.

La figura 11. Icono de generador de expresión

Icono del Generador de expresiones

A continuación, cuando escriba una expresión, se muestra una lista desplegable de campos, funciones o elementos de la expresión similares a los que se muestran en la figura 12.

La figura 12. Al escribir, muestra una lista desplegable de opciones

Al escribir, se muestra una lista desplegable de opciones

Puede encontrar ayuda mucho más en expresiones y sobre cómo utilizar el generador de expresiones en la Ayuda de Access 2010.

Las macros y expresiones más fácil

Tanto si eres un usuario nuevo de Microsoft Access o un programador con experiencia, las mejoras de facilidad de uso por el Diseñador de macros nueva que sea más fácil que nunca para crear macros. La adición del Else y construcciones Else If hacer macros mucho más flexible. Y la característica de IntelliSense de nuevo catálogo de acción y eliminan la necesidad de memorizar comandos utilizados con frecuencia y las acciones. Además, el generador de expresiones mejorado que expresiones de creación mucho más sencillo. En total, estas mejoras permiten un mayor control sobre la funcionalidad de las bases de datos que cree.

recursos adicionales

Nota Nota

Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Mostrar:
© 2015 Microsoft