Permiten realizar cambios en los datos almacenados en una tabla, además podemos crear una nueva tabla a partir de los registros de otra, modificar los datos almacenados, insertar nuevos registros o eliminar registros.
A continuación cada uno de los tipos de consultas de acción.
Consultas de creación de tabla Son consultas que almacenan en una nueva tabla el resultado de una consulta de selección. Se suelen utilizar para crear tablas de trabajo, tablas intermedias, las creamos para una determinada tarea (por ejemplo para almacenar el resultado de una consulta compleja que tarda en ejecutarse y que vamos a utilizar en varios informes) y cuando hemos terminado esa tarea las borramos. También es útil para sacar datos en una tabla para enviarlos a alguien, o para crear copias de nuestras tablas. Para crear una consulta de Creación de tabla:
![]() |
Aparecerá

Escribimos en el recuadro Nombre de tabla: el nombre de la nueva tabla.
Normalmente crearemos la tabla en la misma base de datos (opción Base de datos activa) pero podemos crear 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 del archivo: el nombre de la base de datos donde se creará la tabla. Debe 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 donde queremos guardar la nueva tabla.
Por último clic sobre Aceptar y volvemos a la ventana Diseño de consulta:

La ventana de diseño será igual 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 en la barra de título después del nombre de la consulta pone Consulta de creación de tabla y si abrimos las propiedades de la consulta haciendo clic sobre el botón
de la pestaña Diseño veremos en la propiedad Tabla de destino el nombre de la tabla que se tiene que crear y en Base de datos de destino la base de datos donde se creará:


Para ver los datos que se grabados, clic sobre el tipo de vista Hoja de datos de la pestaña Inicio, que nos permite visualizar los datos sin que se cree la nueva tabla.
La opción Ejecutar consulta hace que se cree la nueva tabla con los datos obtenidos de la consulta. Para ejecutar la consulta hacer clic sobre el botón
de la pestaña Diseño.

Cuando ejecutamos una consulta de creación de tabla, nos avisa de esta creación, también nos avisa cuando ya existe una tabla con el nombre de la nueva tabla.
Los campos de la nueva tabla se llamarán como el encabezado de los campos de la consulta y heredarán el tipo de datos de los campos origen pero no heredan propiedades como clave principal, índices, etc...
Consultas de actualización
Permiten modificar los datos almacenados en una tabla, modifican el contenido de los registros de una tabla. Se pueden modificar de golpe todos los registros de la tabla o sólo los que cumplan una determinado condición.
Para crear una consulta de actualización:
- Abrimos una nueva consulta en vista diseño.
- Añadimos la tabla que queremos actualizar.
- Clic en Actualizar de la pestaña Diseño:

A partir de ese momento la cuadrícula cambia de aspecto, han desaparecido las filas Orden: y Mostrar: por carecer de sentido aquí y en su lugar tenemos la fila Actualizar




La expresión puede ser un valor fijo, un nombre de campo del origen o cualquier expresión basada en campos del origen, también podría ser un parámetro.
Esta expresión debe generar un valor del tipo de dato apropiado para la columna indicada.
La expresión debe ser calculable a partir de los valores de la fila que se está actualizando.








En la consulta a crear habría de poner en la cuadrícula la columna Provincia y en la fila Actualizar a: poner [Poblacion] entre corchetes para que Access entienda que tiene que coger el valor del campo Población.
También podemos utilizar en la fila Actualizar a: una expresión basada en el campo que estamos actualizando u otro campo que también actualizamos en esa consulta. En estos casos se utilizará, para calcular la expresión, los valores antes de la actualización. por ejemplo queremos subir un 5% el precio de nuestros artículos, la expresión a escribir en la fila Actualizar a: del campo precio sería [precio] * 1,1 (esta expresión es equivalente a [precio] + ([precio] * 10 /100)).


Consulta de datos anexados 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:
![]() Aparecerá el siguiente cuadro de diálogo: ![]() 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 y aparecerá el cuadro de diálogo para buscar en el árbol de carpetas la base de datos que queremos. |
Por último clic en Aceptar y volvemos a la ventana Diseño de consulta.

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
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.


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 Código 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.
Consulta de eliminación
Eliminan de una tabla los registros que cumplen el criterio de búsqueda especificado. Para crear una consulta de eliminación:
- Abrir nueva consulta en vista diseño.
- Añadir la tabla de la que queremos borrar los registros.
- Clic en Eliminar de la pestaña Diseño:

A partir de ese momento la cuadrícula cambia de aspecto, han desaparecido las filas Orden: y Mostrar: por carecer de sentido aquí y en su lugar tenemos la fila Eliminar:

El Origen de la consulta puede ser una tabla, una consulta o una combinación de tablas. Se utiliza una combinación de tablas cuando necesitamos borrar registros de una tabla pero necesitamos la otra tabla para el criterio de búsqueda.
En la cuadrícula QBE solamente ponemos el campo o campos que intervienen en los criterios de búsqueda y si el origen de la tabla tiene varias tablas, pondremos una columna para indicar de qué tabla queremos eliminar los registros. En este caso también debemos cambiar las propiedades de la consulta para que nos permita ejecutarla. Haciendo clic en Hoja de propiedades de la pestaña Diseño
, y cambiando la propiedad Registros únicos a Sí.


En la fila Eliminar: podemos seleccionar dos opciones, la opción Dónde indica un criterio de búsqueda, y la opción Desde indica que queremos borrar los registros de la tabla especificada en esa columna.

Con esta consulta eliminamos los cursos (Desde la tabla Cursos) que tengan alumnos de Valencia (Dónde Población = "Valencia").
Cuando el origen es una sola tabla la columna Desde no es necesaria.
Si NO se indica un criterio de búsqueda, se borran TODOS los registros de la tabla.
Para ver los datos que se borrarán antes de realizar la eliminación, hacer clic sobre el tipo de vista Hoja de datos de la pestaña Inicio.
Para ejecutar la consulta hacer clic sobre el botón
. Al ejecutar la consulta se realizará la eliminación de los registros de la tabla aunque previamente nos avisa que va a eliminar tantas filas y nosotros podemos cancelar esa eliminación.

Una vez borrados, los registros no se pueden recuperar.
Si la tabla donde borramos está relacionada con otras tablas se podrán borrar o no los registros siguiendo las reglas de integridad referencial definidas en esas relaciones. Si no puede borrar todas las filas que tenía que borrar nos manda un mensaje avisándonos que no ha podido eliminar tantas filas por infringir esas reglas.
No hay comentarios:
Publicar un comentario