Unidad 10. Las consultas de acción (III)


10.3. Consulta de datos anexados

Videotutorial Flash Videotutorial YouTube

Las consultas de datos anexados son consultas que añaden filas enteras a una tabla.

Los nuevos registros se agregan siempre al final de la tabla.

La inserción se puede realizar de una fila o de varias filas de golpe, normalmente cogiendo los datos de otra tabla por eso una consulta de datos anexados tendrá un origen (la tabla o tablas de donde cogerá los datos) y un destino (la tabla donde insertamos estos datos). El mecanismo es similar al de la consulta de creación de tabla ya que definimos una consulta de selección que permite obtener los datos a grabar y lo que varía es que ahora indicaremos en qué columna del destino queremos almacenar cada valor.

Para crear una consulta de datos anexados:

Abrimos una nueva consulta en vista diseño.

Añadimos la tabla o las tablas de donde vamos a sacar los datos a insertar en el destino.

Diseñamos la consulta como una consulta de selección normal de tal forma que en el resultado de esa consulta aparezcan los datos a insertar.

Haz clic en el botón Anexar de la pestaña Diseño:

Anexar

Aparecerá el siguiente cuadro de diálogo:

Ventana Anexar para indicar el nombre de la tabla

Escribimos en el recuadro Nombre de tabla: el nombre de la tabla donde queremos insertar los nuevos registros.

Normalmente la tabla estará en la misma base de datos (opción Base de datos activa) pero podemos tener la tabla en otra base de datos, en este caso tenemos que activar la opción Otra base de datos: y escribir en el cuadro Nombre de archivo: el nombre de la base de datos donde se encuentra la tabla. De ser el nombre completo incluida la ruta, por eso es más cómodo buscar la base de datos con el botón Examinar.... Pulsamos Examinar... aparecerá el cuadro de diálogo para buscar en el árbol de carpetas la base de datos que queremos.

Por último hacemos clic sobre el botón Aceptar y volvemos a la ventana Diseño de consulta.

Consulta con la opción Anexar a

La ventana de diseño será parecida a la de una consulta de selección, en ella definimos la consulta de selección para obtener los datos a grabar en la nueva tabla, la única diferencia es que tiene una nueva fila Anexar a:.

Si abrimos las propiedades de la consulta haciendo clic sobre el botón Hoja de Propiedades de la pestaña Diseño veremos en la propiedad Tabla de destino el nombre de la tabla destino y en Base de datos de destino la base de datos donde se encuentra la tabla destino.

Propiedades Tabla de destino y Base de datos de destino

En la fila Anexar a: indicamos el campo destino, en qué campo de la tabla destino queremos dejar el valor definido en esa columna.

En la fila Campo: indicamos el valor que queremos se grabe en el campo destino, este valor puede ser un campo del origen, un valor fijo, o cualquier expresión válida.

Podemos incluir un criterio de búsqueda para seleccionar del origen los registros que se insertarán en el destino.

Cuando no rellenamos algún campo del destino, el campo se rellenará con el valor que tenga en su propiedad Valor predeterminado. En nuestro ejemplo no se anexa nada a los campos Fecha inicial y Fecha final por lo que se rellenarán a nulo (su valor predeterminado).

Cuando la tabla tiene una columna de tipo contador, lo normal es no asignar valor a esa columna para que el sistema le asigne el valor que le toque según el contador, si por el contrario queremos que la columna tenga un valor concreto, lo indicamos en la fila Campo:.

Si la tabla destino tiene clave principal y en ese campo intentamos no asignar valor, asignar el valor nulo o un valor que ya existe en la tabla, Access no añade la fila y da un mensaje de error de 'infracciones de clave'. Por eso en nuestro ejemplo asignamos al campo Número Curso el valor de la expresión [Código Curso] + 1000 para que no se generen códigos duplicados que ocasionarían errores (suponiendo que los códigos de curso que tenemos actualmente no llegan a 1000).

Si tenemos definido un índice único (sin duplicados) e intentamos asignar un valor que ya existe en la tabla también devuelve el mismo error.

Si la tabla destino está relacionada con otra, se seguirán las reglas de integridad referencial.

Para practicar puedes realizar el Ejercicio Consultas de datos anexados


Octubre-2010
Pág. 10.3

Atrás  Inicio  Adelante




Curso de Access 2013
.