LA CONSULTA DE ACCIÓN

En el CAPÍTULO ANTERIOR aprendiste que en la creación y ejecución de una consulta existen diferentes tipos de vista, que ayudarán a visualizar y hacer mucho más eficiente el trabajo. También aprendiste a crear una consulta a través del asistente de Access. En ESTE CAPÍTULO vamos a saber que son y para que sirven la consulta de acción de Access.

¿QUÉ ÉS UNA CONSULTA DE ACCIÓN?

Las consultas de Acción son aquellas consultas en las que además de poder filtrar datos o registros de diferentes tablas como lo hace la consulta de selección, puede incluir operaciones.
Por tanto, es muy importante entender como funciona pues al poder realizar operaciones con los datos almacenados de varias tablas, la ejecución de la consulta conllevaría resultados que pueden modificar datos e incluso eliminarlos.

Por eso recomiendo que practiques en una base de datos que no contenga datos relevantes en tu trabajo hasta tener la plena seguridad que lo puedes hacer sin riesgos.

SUBIR

EL PANEL DE ACCIÓN

A continuación te voy a mostrar el panel de acción que servirá para realizar las consultas de acción:

Este es el panel de acción para poder realizar una consulta de acción.
Este es el panel de acción para poder realizar una consulta de acción.

01.- Seleccionar: Indica que la consulta será de selección. Este botón se muestra activado de forma predeterminada al crear una consulta en la vista Diseño.
02.- Crear tabla: La consulta de acción permite crear nuevas tablas a través de este botón.
03.- Anexar: Permite agregar registros en tablas existentes.
04.- Actualizar: Modifica registros en tablas existentes.
05.- General: Crea cálculos con los registros y permite agruparlos por campos en común.
06.- Eliminar: Para eliminar registros de tablas existentes.
07.- Unión: Permite crear consultas que combinen diferentes tablas mediante un campo en común.
08.- Paso a través: Pasa al modo SQL (Structured Query Language o lenguaje de programación interactivo), que permite extraer información y actualizar una base de datos.
09.- Definición de datos: Posibilita modificar bases de datos con instrucciones SQL.

loading...
SUBIR

CONSULTA DE CREACIÓN DE TABLAS

Dentro del grupo de consultas de acción, encontramos la categoría consultas de creación de tablas, que permiten crear nuevas tablas a partir de los registros que resulten de la ejecución de una consulta.

Es decir que los registros que cumplan con los criterios establecidos en el diseño de una consulta de creación de tablas conformarán una nueva tabla. Que puede guardarse en la misma base de datos o en otra, al indicar su ruta de ubicación correspondiente.

A continuación, aprenderemos a crear las consultas de creación de tablas.

Para comenzar, debemos realizar el diseño a través del botón Diseño de consulta de la ficha Crear. Luego de indicar las tablas y campos que participarán en la consulta que generará la nueva tabla, debemos pulsar el botón Crear tabla, dentro de la ficha Diseño.

En este ejemplo vamos a crear una tabla a través de una consulta de acción mediante las tablas CLIENTES, ARTÍCULOS y PEDIDOS:

De la tabla CLIENTES seleccionamos el campo "Codcliente", de la tabla ARTÍCULOS seleccionamos los campos "Codart", "Descripción", "Pvp" y de la tabla PEDIDOS seleccionamos el campo "Unidades", tal y como se muestra en la siguiente imágen:

Access permite crear una tabla a partir de campos de diferentes tablas.
Access permite crear una tabla a partir de campos de diferentes tablas.

Cuando ejecutamos una consulta de acción, se realiza la acción asociada al tipo de consulta, por ello recomendamos visualizar previamente los datos antes de ejecutarla. De esta manera, evitamos la creación de tablas sin información, que resultan cuando los criterios abarcan todos los registros y dejan vacía la nueva tabla. La consulta se puede visualizar en el icono "ver" dentro de la pestaña diseño de la cinta de opciones en el apartado resultados (icono anaranjado en la imágen superior).

Estos serán los resultados que vamos a obtener en la creación de una nueva tabla.
Estos serán los resultados que vamos a obtener en la creación de una nueva tabla.

Como se puede apreciar en la imágen superior este será el resultado de la nueva tabla que combina tres tablas diferentes.

Cuando ya estamos seguros de que la tabla que vamos a crear es correcta, podemos empezar el proceso de crear la tabla, volviendo a la vista de diseño (icono anaranjado en la imágen superior).

Al iniciar el proceso de crear tabla aparece un aviso emergente para configurar la nueva tabla.
Al iniciar el proceso de crear tabla aparece un aviso emergente para configurar la nueva tabla.

Cuando pulsamos el icono "Crear tabla" aparece una ventana de diálogo mediante el cual haremos las configuraciones necesarias para establecer el resultado de la consulta. Las opciones del cuadro para la creación de la nueva tabla que contendrá los datos resultantes de la consulta son:

Nombre de la tabla: Debemos escribir el nombre que deseamos asignarle a la tabla creada, teniendo en cuenta que no pueden existir dos tablas con el mismo nombre. A esta tabla la llamaremos RECAUDACIÓN.

Base de datos activa: Si queremos que la nueva tabla se guarde en la base de datos actual, en la que estamos trabajando ahora, debemos seleccionar esta opción. Una vez creada aparecerá en el panel de navegación lateral.

Otra base de datos: Permite guardar la nueva tabla en otra base de datos. Mediante el botón Examinar buscamos la base de destino.
Una vez pulsemos el botón de "aceptar" volveremos a la vista de diseño. Ahora ya solo nos queda guardar la consulta con el nombre de "Recaudación".

La consulta de creación de tablas posee un icono diferente al de las consultas de selección.
La consulta de creación de tablas posee un icono diferente al de las consultas de selección.

Cada vez que ejecutamos la consulta de acción, se realiza la acción que tiene asociada. Es decir que se generará una nueva tabla con base en los resultados del diseño de la consulta. Debido a esto, es importante que comprendamos la diferencia entre ejecutar consultas de acción y consultas de selección. Cuando ejecutamos las primeras, no realizamos ninguna modificación en el diseño de la base de datos ni en la información almacenada. En cambio, cuando ejecutamos las segundas, el diseño o la información de la base de datos son afectados por una determinada acción y, por lo tanto, el programa nos muestra un cuadro de advertencia para recordárnoslo.

RECUERDA QUE...
Para guardar una consulta de acción se utiliza el mismo proceso que en una consulta de selección. Ante todo recordar que la ejecución y el guardado son funciones que trabajan de manera independiente y por tanto se pueden realizar en cualquier orden.
Cuando guardamos una consulta de acción el icono que se muestra es diferente al de la consulta de acción.

Antes de crear la nueva tabla con base en los resultados de la consulta, Access nos informa la cantidad de registros que tendrá la nueva tabla, y que, si ejecutamos la consulta, no podremos volver atrás la acción a través del comando Deshacer. Sin embargo, podemos borrar la nueva tabla, como lo hacemos con cualquier objeto de una base de datos.

Access nos informa la cantidad de registros que tendrá la nueva tabla.
Access nos informa la cantidad de registros que tendrá la nueva tabla.

Para finalizar el proceso de ejecución de la consulta, debemos pulsar sobre el botón "Sí" del cuadro de advertencia y la nueva tabla se creará en el apartado Tablas, del Panel de navegación, con el mismo icono que el resto de las tablas. En cambio, si pulsamos el botón "No", cancelaremos el proceso y no se creará la nueva tabla.

RECUERDA QUE...
Es importante tener en cuenta que, si los registros que actualizamos se encuentran en una tabla relacionada y esta relación tiene activada la opción Actualización en cascada, la modificación realizada se aplicará en todas las tablas donde se encuentre registrado el dato que hemos cambiado. Si no queremos que esto suceda, antes de actualizar tendremos de deshabilitar la opción. Para esto vamos a la ficha Herramientas de base de datos, pulsamos Relaciones, luego Modificar relaciones y en el cuadro desactivamos la opción.
loading...
SUBIR

CONSULTA DE DATOS ANEXADOS

Este tipo de consulta de acción de datos anexados es ideal para ingresar nuevos registros en una tabla existente de la base de datos. Es importante verificar antes la existencia tanto de la tabla donde deseamos ingresar los nuevos registros, como de la tabla que los contiene, para evitar errores en los resultados.

Para crear consulta de datos anexados es necesario tener en cuenta que la creación de este tipo de consultas de datos anexados conlleva la existencia de dos tablas, una que contenga los nuevos registros y otra que los reciba. Por lo tanto, ambas deben tener como mínimo un campo en común para que sea posible el traslado de información.

Para mostrarte este ejemplo hemos he creado la tabla "ARTÍCULOS EN TRASPASO" que contiene 2 registros y los voy a anexar a la tabla "ARTÍCULOS", de esta manera tendré todos los registros en una sola tabla.

Esta es la tabla que vamos a anexar los registros a la tabla articulos, como mínimo debe haber un campo que coincida en ambas tablas, ya que de lo contrario el anexo no funcionará.
Esta es la tabla que vamos a anexar los registros a la tabla articulos, como mínimo debe haber un campo que coincida en ambas tablas, ya que de lo contrario el anexo no funcionará.

La siguiente tabla es la tabla que vamos a traspasar los registros:

Esta es la tabla que recibirá los registros una vez realizada la consulta de acción anexada.
Esta es la tabla que recibirá los registros una vez realizada la consulta de acción anexada.

Para trasladar registros entre tablas a través de consultas de datos anexados, primero debemos crear una consulta de selección en la Vista Diseño, con los campos de la tabla que contiene los registros que deseamos trasladar.

Se crea una consulta de selección con la tabla que contiene los datos que queremos traspasar. En la grilla ponemos los campos que nos interesan anexar, que en este caso son todos los campos a excepción del campo Id.
Se crea una consulta de selección con la tabla que contiene los datos que queremos traspasar. En la grilla ponemos los campos que nos interesan anexar, que en este caso son todos los campos a excepción del campo Id.

Luego de crear la estructura de la consulta, pulsamos el botón Anexar de la ficha Diseño. Access mostrará un cuadro de diálogo, donde debemos indicar las opciones para el traslado de los datos:

Al pulsar anexar se abrirá una ventana emergente.
Al pulsar anexar se abrirá una ventana emergente.

En Nombre de la tabla, debemos indicar la tabla que recibirá los datos, que en nuestro caso es ARTÍCULOS. Luego, pulsamos Aceptar y volveremos a la Vista Diseño. Tengamos en cuenta que, en cualquier momento, es posible modificar el diseño de la consulta con el agregado o la eliminación de campos.

Después de indicar la tabla que recibirá los datos, en la grilla de la consulta se agregará la fila Anexar a, que muestra los nombres de los campos de la tabla destino en los cuales se ingresarán los registros.

Si algún campo de la grilla no posee un valor en la fila Anexar a, no se introducirá en ningún campo de la tabla destino.

En la grilla, dentro de la fila anexar puedes ver los campos de la tabla destino en los cuales se ingresarán los 2 registros.
En la grilla, dentro de la fila anexar puedes ver los campos de la tabla destino en los cuales se ingresarán los 2 registros.

El proceso de ejecución de consultas es igual en todo tipo de consultas pero, el resultado variará dependiendo del tipo de consulta que se ejecute. Cuando lo hacemos con consultas de datos anexados, también se muestra un cuadro de advertencia.:

En la ejecución de la consulta de acción se muestra un cuadro de diálogo que advierte de los registros que se van a anexar.
En la ejecución de la consulta de acción se muestra un cuadro de diálogo que advierte de los registros que se van a anexar.

Mediante este cuadro, Access nos informa la cantidad de registros que se insertarán en la tabla de destino y que no podremos anular la acción mediante el comando Deshacer. En este caso, si deseamos eliminar los registros agregados en la tabla destino, debemos hacerlo a través del botón Eliminar, del apartado Registro, de la ficha Inicio. Recordemos que podemos guardar la consulta antes o después de ejecutarla.

Debido a que el objetivo de este tipo de consultas es trasladar datos entre tablas, es conveniente confirmar su adecuada correspondencia. Para confirmar los datos anexos, debemos abrir la tabla destino y verificar los nuevos registros:

Guardamos la consulta y comprobamos que efectivamente se han agregado las dos filas o registros a la tabla de ARTÍCULOS.
Guardamos la consulta y comprobamos que efectivamente se han agregado las dos filas o registros a la tabla de ARTÍCULOS.

Debemos tener en cuenta que si un dato no cumple con los requisitos de la tabla destino, no se agregaran los registros.

Por ejemplo imaginemos que en la tabla anterior "ARTÍCULOS EN TRASPASO" no tuviera los datos del campo "Fecha de pedido" ¿Qué pasaría?. Simplemente Access dejará el campo vacío de datos, pero el resto de campos si que los agregaría.

Imaginemos ahora uno de los campos de la tabla destino "ARTÍCULOS" tuviese una regla de validación y el nuevo dato no la cumple. ¿Qué pasaría entonces?.
Entonces Access mostrará un mensaje que indicará que no será posible agregar el dato por no ser válido con relación a los criterios de la tabla destino.

loading...
SUBIR

CONSULTAS DE ELIMINACIÓN

Este tipo de consultas de acción permiten eliminar registros. Mediante ellas, podemos borrar un conjunto completo de datos que cumplen con determinados criterios, es decir podemos eliminar la información de los campos de todos los registros que cumplan con los criterios establecidos en el diseño de la consulta. Por tanto, es recomendable que verifiquemos los datos que deseamos eliminar.

La creación de este tipo de consultas comienza con la elaboración del diseño a través del botón Crear diseño de consulta de la ficha Crear. Luego, debemos agregar las tablas que contengan los registros que queremos eliminar.

En este ejemplo, borraremos registros de la tabla "ARTÍCULOS EN TRASPASO" y por lo tanto, agregamos esta tabla en el diseño de la consulta. A continuación, pulsamos el botón Eliminar de la ficha Diseño, para indicarle al programa que la consulta será de eliminación. Luego, añadimos todos los campos donde deseamos que se elimine información y asignamos los criterios para filtrar los datos que se borrarán.

Tengamos en cuenta que el botón Eliminar lo podemos pulsar antes o después de crear el diseño de la consulta. Antes de continuar debemos saber que para borrar registros de una sola tabla sin que se eliminen los registros relacionados, la tabla que participa en la consulta de eliminación no debe estar relacionada. Por lo tanto, si intentamos eliminar manualmente un registro en la Vista Hoja de datos, Access nos informará que también se eliminarán los registros relacionados.

La tabla que participa en la consulta de eliminación no debe estar relacionada. Por lo tanto, si intentamos eliminar manualmente un registro en la Vista Hoja de datos, Access nos informará que también se eliminarán los registros relacionados.
La tabla que participa en la consulta de eliminación no debe estar relacionada. Por lo tanto, si intentamos eliminar manualmente un registro en la Vista Hoja de datos, Access nos informará que también se eliminarán los registros relacionados.

Es importante definir correctamente los criterios de eliminación, para no obtener resultados indeseados. Por eso, se recomienda tener en cuenta que los criterios se apliquen de la misma manera a los vistos en el Capítulo de criterios de selección, donde desarrollamos el empleo de criterios para filtros. La variedad de sintaxis posibles para los criterios es infinita, de manera que escoger el adecuado dependerá de las necesidades de cada usuario.
En este caso, escogeremos eliminar el registro 2 del campo "Id" :

En el ejemplo le decimos a Access que se eliminará el registro 2 de la tabla.
En el ejemplo le decimos a Access que se eliminará el registro 2 de la tabla.

Recordemos que, antes de ejecutar una consulta y realizar la acción que tiene asociada, podemos visualizar los datos que se eliminarán a través del botón Ver de la ficha Inicio. Esto nos permitirá verificar que los datos que se eliminarán sean los correctos y evitaremos así posibles pérdidas indeseadas de información:

A través de la opción ver, podemos visualizar los registros que serán eliminados.
A través de la opción ver, podemos visualizar los registros que serán eliminados.

Luego de realizar esta comprobación, estamos listos para ejecutar la consulta: presionamos el botón Ejecutar de la ficha Diseño. En este momento comienza el proceso de eliminación de los registros que cumplen con los criterios especificados. Recordemos que también es posible ejecutar consultas si hacemos doble clic sobre el icono correspondiente en el Panel de navegación.

No olvidemos que, al igual que el resto de las consultas de acción, cada vez que se ejecuten las de eliminación también se llevarán a cabo las acciones que tengan asociadas. En el caso de las consultas de eliminación, se borran los registros correspondientes.

Por otro lado, si ejecutamos dos veces una consulta de eliminación sin que se realicen cambios en las tablas originarias que contienen dichos registros, Access no eliminará ningún otro registro, el programa nos indicará que se eliminarán 0 (cero) registros en la tabla.

Access lanza un mensaje de advertencia informando que vamos a eliminar 1 fila.
Access lanza un mensaje de advertencia informando que vamos a eliminar 1 fila.

La eliminación automática de registros a través de consultas de eliminación permite que, al borrar un registro, este se suprima de todas las tablas en las cuales existe. Esto es posible solo si se cumplen dos condiciones: la primera es que las tablas se encuentren relacionadas y, la segunda, que en el proceso de relación hayamos activado la casilla Eliminación en cascada. Esto brinda la ventaja de conservar la coherencia de los datos registrados.

Una vez ejecutada la consulta, si abrimos la tabla ARTÍCULOS EN TRASPASO veremos que el registro o fila número 2 se ha eliminado.
Una vez ejecutada la consulta, si abrimos la tabla ARTÍCULOS EN TRASPASO veremos que el registro o fila número 2 se ha eliminado.
También es posible, aunque no frecuente, que al ejecutar consultas de eliminación Access muestre un mensaje de error que indique que no se eliminará ningún registro. Esto sucede cuando el diseño de la consulta posee varias tablas y estas tienen el valor No en la propiedad Registros únicos.
Para solucionar este problema, lo que debemos hacer es modificar el valor de esta propiedad. Para ello, tenemos que ingresar en la Vista Diseño de la consulta de eliminación y pulsar el botón Hoja de propiedades, situado en el grupo Mostrar u ocultar, de la ficha Diseño.
Al pulsarlo, se desplegará la lista de propiedades disponibles para la consulta actual, donde debemos modificar el valor de la propiedad Registros únicos y establecer el valor Sí.
Cuando el diseño de la consulta posee varias tablas y estas tienen el valor No en la propiedad Registros únicos, puede que Access nos de error al intentar borrar registros.
Cuando el diseño de la consulta posee varias tablas y estas tienen el valor No en la propiedad Registros únicos, puede que Access nos de error al intentar borrar registros.
SUBIR

EJERCICIOS DE PRÁCTICAS

EJERCICIO 21

Necesito que anexes de la tabla "ARTÍCULOS" a la tabla "ARTÍCULOS EN TRASPASO" solamente aquellos artículos que contengan más de 30 y menos de 60 unidades.

Una pista: Recuerda que es una consulta de acción y hay que jugar con los criterios.
Pd: No es necesario que guardes la consulta.
Si lo has hecho correctamente, debe salirte lo siguiente:

En este ejemplo se han anexado 4 registros a la tabla.
En este ejemplo se han anexado 4 registros a la tabla.

¿Qué ha pasado?. En la consulta de verificación sale correctamente pero en la ejecución de consulta te sale un mensaje de error advirtiendo que hay un registro que no se va a agregar debido a que incumple una de las reglas, y las opciones que te da es continuar o anular.

Si le has dado a continuar, verás que solo se han anexado 3 registros, porque Access se ha dado cuenta que uno de los registros que querías anexar... está repetido, y el campo "Codart" está indexado sin duplicados dentro de las propiedades del campo.

EJERCICIO 22

Ahora que ya sabes de que va todo esto, quiero que mediante una consulta de acción elimines de la tabla "ARTÍCULOS EN TRASPASO" todos los registros que tengan una fecha de pedido entre en 01/02/2019 y el 02/02/2019.

Una pista: Recuerda que es una consulta de acción y hay que jugar con los criterios.
Pd: No es necesario que guardes la consulta.
Si lo has hecho correctamente, debe salirte lo siguiente:

En este ejemplo se han eliminado 2 registros de la tabla.
loading...
SUBIR

¿CÓMO CONTINUAR?

En el CAPÍTULO ANTERIOR aprendiste que en la creación y ejecución de una consulta existen diferentes tipos de vista, que ayudarán a visualizar y hacer mucho más eficiente el trabajo. También aprendiste a crear una consulta a través del asistente de Access.

En ESTE CAPÍTULO hemos aprendido lo que es una consulta de acción y de que se compone el panel de acción. Dentro del grupo de consultas de acción, encontramos la categoría consultas de creación de tablas, que permiten crear nuevas tablas a partir de los registros que resulten de la ejecución de una consulta. También has aprendido a que es posible anexar datos desde una tabla a otra, así como eliminar registros a través de la consulta de eliminación. Además, has podido practicar con nuestros ejercicios.

En el CAPÍTULO SIGUIENTE seguiremos aprendiendo más sobre las consultas de acción.

CONSULTA DE SELECCIÓN 2
CONSULTA DE SELECCIÓN 2
CONSULTA DE ACTUALIZACIÓN
CONSULTA DE ACTUALIZACIÓN

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Utilizamos cookies propias y de terceros para obtener datos estadísticos de la navegación de nuestros usuarios y mejorar nuestros servicios. Si acepta o continúa navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información en política de cookies

ACEPTAR
Aviso de cookies