Pregunta

He oído a la parra que la próxima Access2010 tiene una función de datos macros que será por primera vez, añadir la funcionalidad de disparo similar a Access tablas del motor de datos. ¿Alguien tiene un más detalles sobre esto? Por ejemplo, pueden creada en el código (ACEDAO, DDL de SQL, etc.)? ¿Funciona Macro de datos si los datos se modifica desde fuera de la interfaz de usuario de acceso, por ejemplo, a través de ODBC, OLE DB, etc?

¿Fue útil?

Solución

Ok, un poco más de información.

  

¿Tiene el plazo Macro de datos si los datos se modifica desde fuera de la interfaz de usuario de acceso, por ejemplo, a través de ODBC, OLE DB, etc?

Sí lo hace.

Estos verdaderos disparadores son a nivel de motor de datos. Por lo tanto, el uso de ADO, DAO o incluso editar las tablas en vista de tabla en MS-Access significa que los factores desencadenantes se disparará. Estos factores desencadenantes también incluirían el escenario en el que ni siquiera tiene MS-Access instalado en su ordenador.

Usted, por supuesto necesitan de la instalación JET (para el resto de este artículo voy a utilizar el término ACE). Recuerda que fue sólo en 2007 que el acceso al equipo de acceso recibe la propiedad de JET. Ellos ahora están libres para mejorar este motor para sus necesidades. Empezamos a ver algunos cambios a ACE en 2007 y ahora vamos a ver mucho más cambios para el año 2010. Algunas de estas características son todavía NDA para mí ... pero voy a derramar tanto como puedo aquí.

  

Por ejemplo, puede que creó en el código (ACEDAO, DDL de SQL, etc.)?

En el código, perahps, pero no con DDL SQL. Los factores desencadenantes no son comandos SQL. Tenga en cuenta que para Oracle o SQL Server o la mayoría de los sistemas en el mercado que todos ellos tienden a tener su propio idioma personalizado para sus desencadenantes de todos modos.

En el nuevo ACE que por lo tanto va a escribir lo que se llama una macro de datos. Se utiliza el editor de macros en MS-Access. Estos son viejos macros de acceso de moda, pero el editor ha sido completamente re-hecho. Las nuevas macros también tienen subrutinas, bucles, si entonces bloquea los demás y un tipo de conjunto de registros. Recordemos, recibimos la capacidad de crear variables temporales en 2007 macros. En 2010, esta se extiende para incluir también las variables locales y por encima de nuevas características.

La sintaxis para comandos de macro existente es la misma que las versiones anteriores. Sin embargo, tenemos un nuevo IDE lisa, junto con todos los comandos anteriores fresco añadido. Ahora tenemos así dos tipos de macros. macros de interfaz de usuario (regular como antes) y ahora los nuevos llamados macros de datos. No tendría sentido que una macro nivel de tabla para poder mostrar mensajes de error en la pantalla. Por lo que cualquier error registrado entra en una mesa. Hay también algunos nuevos comandos de registro que le permiten escribir sus propios errores personalizados a esa mesa. Un diseño brillante y simple aquí. Aquí lo que la tabla de registro de errores se ve así:

alt text
(fuente: kallal.ca )

En un mundo de grandes obras de IDE, marco masivos y enormes bibliotecas terribles de código correspondido a actualizar una fila en una tabla sencilla, puedo decir que las macros de datos son característica más refrescante. Se sienten muy similar a cómo funciona el dbaseII originales. Son muy simples, pero el poder mortal completa porque se ejecutan a nivel de tabla.

Por ejemplo, aquí está una macro de datos que mantendrá un inventario de los totales de una mesa. En este ejemplo voy a asumir que existen registros de inventario principal. Y entonces tenemos una tabla de detalles del pedido. Si un usuario edita cualquier valor en la tabla de órdenes, queremos que la tabla maestra de actualización automática los niveles de inventario.

Así tenemos: Tengo dos tablas

tblFruits:    main data fruit inventory table
id         (autonumber)
Fruit text
OnHand    (number value of fruit in inventory)

tblFruitsOrder
id       (autonumber)
Fruit_id (FK to tblFruts.ID)
QtyOrder (number of fruit to order)

Esto es simple prueba

Por lo tanto, vamos a tener un gatillo en la tblFruitsOrder que actualizará + Mantener los niveles de inventario en tblFruits cuando el campo es QtyOrder editado o modificado.

Esto es lo que la macro se parece a:

alt text
(fuente: kallal.ca )

Tenga en cuenta la forma muy simple lo anterior es. Tenga en cuenta que en el IDE si hace clic en una sección del código, se obtiene la edición de macros tipo de estilo antiguo en el que se can introducir los valores para el comando (esto es similar a pre 2010, pero ahora los parámetros de edición y se produce en el código, no un panel que aparece en la parte inferior de la pantalla en las versiones anteriores).

Aquí está otra captura de pantalla en la que jugando con la capacidad de hacer un bucle y llamar a una subrutina.

alt text
(fuente: kallal.ca )

En lo anterior podemos usar msgboxs etc, porque esto no es un macro nivel de tabla. Por lo que los comandos disponibles están restringidos de forma automática para usted cuando usted escribir un macro nivel de tabla en lugar de una macro regular. La terminología que ha adoptado para distinguir los dos tipos de macros son macros de interfaz de usuario y macros de datos.

Lo anterior es todo lo que puedo hablar en púbico. Sin embargo, hay unos cuantos realmente aseado-o características sobre estas macros que simplemente todavía no se puede hablar en público como estoy todavía bajo NDA en esas características. Pero hay más sorpresas interesantes para venir aquí.

Aquí hay una captura de pantalla de los tipos de disparadores de la tabla tenemos:

alt text
(fuente: kallal.ca )

Otros consejos

Más información sobre esta nueva característica fue publicado hoy en el blog del equipo de desarrollo de Microsoft Access y que sin duda ofrece más información sobre la cuestión fundamental planteada en los comentarios anteriores.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top