consultas de anexación en Access
CONSULTAS DE ANEXACION:

La consulta de anexación sirve para añadir (anexar) registros a una tabla existente desde otra tabla o consulta. La anexación se corresponde con el proceso tradicional de altas, por ejemplo, altas de nuevos clientes, nuevos productos, nuevos empleados, etc. que antes de la utilización de ordenadores se hacía uno a uno manualmente. Lo que realmente cambia es la posibilidad de dar altas (anexar) cualquier cantidad de registros en un solo proceso (ejecución de consulta de anexación). Por ejemplo, supongamos que tenemos en soporte digital una cartera de 100 clientes nuevos con todos sus datos y que los quiero añadir a mi tabla de CLIENTES: ¡no tengo que volver a escribirlos uno a uno! ¡puedo hacerlo en un solo proceso con una consulta de anexación!...


Lo realmente importante de los soportes informáticos es que una vez introducidos (los datos) en el soporte, puede procesarse sin importar la cantidad de datos.

El funcionamiento de las consultas de anexación es el mismo que el resto de las consultas: añadir una o varias tablas (relacionadas) a vista diseño de consultas, seleccionar, filtrar, calcular, agrupar, etc. hasta obtener los datos que queremos anexar. Activar el modo anexación y ejecutar la consulta. Esta consulta tampoco muestra un listado, sino una operación de altas masivas sobre una tabla existente. Pero veamos el ejemplo que muestra la imagen siguiente. Se trata de una tabla (NUEVOS PRODUCTOS) con 9 registros (filas) y los siguientes campos que puedes ver...

Se trata de un ejemplo en las condiciones ideales puesto que las dos tablas tienen los mismos nombres de campo y presuponemos los mismos tipos de campos y anchos correspondientes. PRODUCTOS tiene una llave primaria autonumérica (N_PRODUCTO) que no es necesario procesar puesto que es un campo Autonumérico que Acces gestiona automáticamente...



De manera gráfica la imagen siguiente muestra lo que pretendemos hacer: añadir (anexar) 9 productos nuevos (tabla NUEVOS PRODUCTOS), que ves en la tabla más inferior, al final de la tabla de PRODUCTOS que ves en la imagen y que tiene actualmente 22 registros (productos) cuyo último producto es Citroen 1900, a partir del cual queremos añadir los 9 nuevos productos...





ALGUNAS CONSIDERACIONES A TENER EN CUENTA:

1. Siempre hay una tabla de destino que es la que recibe nuevos registros.

2. El origen es una tabla o consulta con al menos un campo para anexar.

3. Si no hay un valor para algún campo de la tabla destino este se deja en blanco.

4. Un campo de tipo texto no puede anexarse a un campo de tipo numérico, y además sería absurdo.

5. Los campos numéricos tienen que ser del mismo tipo o se realiza una conversión o se produce error.

6. El nombre del campo que se va a anexar no tiene porqué coincidir con el nombre del campo destino.

7. La situación ideal es que ambas tablas tengan los mismos nombres, tipos y anchos de campos.

8. Un campo de texto que contuviera una dirección si se podría anexar a un campo de texto que contuviera un apellido porque ambos son de texto, pero sería una anexación absurda que produciría datos invalidos y basura...

9. Si un campo de texto de 50 caracteres se anexa a otro campo de texto de sólo de 10 caracteres se perderán 40 caracteres del campo de texto origen...




Lo primero que debemos hacer es crear una nueva consulta de selección con la tabla que contiene los datos a anexar. En nuestro ejemplo: NUEVOS PRODUCTOS. En la zona de inferior de celdas del diseño de consulta, añadimos todos los campos de NUEVOS PRODUCTOS: Descripción, Precio_Unidad, N_ROVEEDOR, Stok, etc. como ves en la imagen siguiente...






Si utilizas Acces 2007 o superior deberás pulsar el botón que muestra la imagen inferior.




O bien la opción "Consulta de datos anexados..." , si es que utilizas 2003 o inferior, que puedes ver a continuación...



En cualquier caso, cuando actives la opción de anexar, Acces interrumpirá el proceso con una ventana modal en primer plano a la que necesariamente tendrás dar el nombre de la tabla de destino. En nuestro ejemplo PRODUCTOS como ves en la imagen siguiente..



Al pulsar aceptar y desde ese momento la consulta ya no es de selección sino de anexación de datos. Significa que si la ejecutas con el botón del signo de admiración rojo, no se producirá un listado sino la anexación de registros (9) a partir del último registro de PRODUCTOS...

El diseño de la consulta de anexación puedes verlo en la imagen siguiente. Estas consultas muestran una fila llamada "Anexar a:" que contiene una lista desplegable con los campos de la tabla destino, en nuestro ejemplo los campos de PRODUCTOS. Si los campos de la tabla destino tienen los mismo nombres que la tabla origen, entonces se igualan automáticamente, como ocurre en nuestro ejemplo. Es decir, el contenido del campo Descripción de NUEVOS PRODUCTOS se añade (se anexa) al campo Descripción de la tabla destino (PRODUCTOS), Precio_Unidad de NUEVOS PRODUCTOS a Precio_Unidad de PRODUCTOS, N_PROVEEDOR de NUEVOS PRODUCTOS a N_PROVEEDOR de PRODUCTOS, y así sucesivamente hasta completar el registro con todos y cada uno de los registros de NUEVOS PRODUCTOS...





Sólo queda ejecutar la consulta de anexación. Acces mostrará una ventana modal como la que ves en la imagen siguiente, en la que hay que constar Si para realizar la anexación. Nos advierte de que se van a anexar (en nuestro ejemplo) 9 registros o filas y que la operación no se puede deshacer...



Al contestar Sí, Acces realizará el proceso. Para comprobar que el proceso se ha realizado correctamente nos situamos en el panel de tablas de Acces y abrimos PRODUCTOS como ves en la imagen siguiente...




Observaciones:

¡ Sólo debemos ejecutar la consulta de anexación una sola vez. Si ejecutamos varias veces, entonces anexaremos varias veces los mismos datos...!

¡ Si ejecutamos la consulta de nuestro ejemplo 3 veces entonces añadiremos 9 x 3 = 27 nuevos productos cuando en realidad sólo teníamos 9 !

 














navegación

PowerPoint: Las presentaciones de PowerPoint se componen, normalmente de varias diapositivas o pantallas. La manera de exponer esas pantallas depende del modelo de navegación que utilicemos

=Año(fecha)

Devuelve el año de una fecha. Deberá escribirse una fecha entre los paréntesis o una referencia a una celda que contenga un valor de tipo fecha...






 eduardo@aulapc.es Granada (España)