Está en la página 1de 39

Capítulo 5

Consultas Avanzadas
CAMPOS CALCULADOS
Algunas veces los usuarios requieren que los datos se muestren dándoles algún tipo de
tratamiento o estableciendo algún tipo de operación con sus datos. Para lograr obtener más
calidad de información.
Cunado a un campo se trata con algún tipo de operación el resultado que se muestra en la
consulta se llama Campo calculado

Consulta 19

Presentar una proyección de los precios de los productos con un descuento del 10%
Mostrar: código, nombre, precio actual, descuento proyectado, Precio al público (proyectado)

Solución:
Todos los datos solicitados se encuentran en la Tabla Producto Luego creamos una nueva
consulta

Pero además se solicita presentar el descuento que se va efectuar, que es el 10% del Precio
actual; este valor tendría que ir en la columna siguiente a la columna del Precio. Pero este
valor no existe en la Tabla, luego hay que calcularlo; este valor seria PrecioUnidad * 0.1
También hay que presentar el precio al público. Este valor sería el 90% del Precio actual o sea
PrecioUnidad * 0.9; esta sería la siguiente columna.
Así tenemos entonces:
Estas dos columnas creadas, se presentan como Columna calculada, que en realidad es un
Expresión creada `por nosotros; por eso ACCESS le pone un nombre a dad columna calculada
como Expr1 y Expr2.
Al verificar el resultado de la consulta con Ver Hoja de datos, tenemos

El resultado es lo que se quería; pero el nombre que aparece en cada campo calculado es la
expresión que considero Access por defecto.
Si se quiere cambiar el Texto de estos encabezados tenemos

A continuación verificamos la Vista Hoja de datos

Como se observa las dos últimas columnas son los campos calculados a través de valores
existentes en otra columna. Son Campos Calculados.

Pasamos a la Vista SQL para ver el código SQL generado.

Discuta con el docente el significado de las instrucciones generadas.


Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta19.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.
Ejercicio propuesto

Presentar el inventario valorado de los productos existentes.


Mostrar el código del producto, nombre, Precio, Stock y el Monto Valorado.
Guardar la consulta como Consulta19_b.

Consulta de Totales
Consulta 20

Presentar el total de unidades en existencia correspondientes a cada categoría.

Se debe mostrar el nombre de la categoría y el total del stock de los productos


correspondientes a una misma categoría.

Observando el Diagrama de la Base de datos se requiere la Tabla Categorías, para obtener el


Nombre de la Categoría y la Tabla Productos para sumar los Stocks.

Creamos una nueva consulta con estas dos Tablas como origen de datos
Pasamos a Vista Hoja de datos para los resultados hasta el momento
Lo que se requiere es agrupar todos los productos que tengan un mismo valor en un campo
llamado Criterio de Agrupacion, en este casoeste campo es NombreCategoria y todos los datos
del segundo de los registros que correspondan al mismo criterio de agrupacion Sumales
(aplicarles una Funcion de Agrupacion)
Del Primer grupo agrupado por Bebidas debe presentarse un solo registro done se presenta
El valor Bebidas y es segundo valor es la suma de 39 + 17 + …. +125 + 57 = 559
Del Segundo grupo agrupado por Condimentos debe presentarse un solo registro donde se
presenta
El valor Condimentos y es segundo valor es la suma de 13 + 53 + 0 + ………. + 4 + 32 = 507
Y asi sucesivamente
Para realizar esto en ACCES tenemos que convertir esta consulta en una Consulta Agrupada.
Para ello regresamos a Vista Diseño
En la Ficha Diseño se elige el boton Totales para convertir a la consulta en una consulta
agrupada.

En la Grilla de abajo aparece una fila nueva fila Total

Se va agrupar por los valores de la primera columna, en este caso pon NombreCategoria.
Pero al segundo campo de salida se le debe aplicar una Funcion de Agrupacion; ene este caso
la Funcion Suma

Elegimos la Funcion Suma de la lista disponible


Luego pasamos a la Vista Hoja de datos para ver los resutados de la consulta con las
variaciones que hemos realizado

Encontramos que lo resultados de las dos categorias que tomamos como muestra coinciden
Pero ademas los 77 registros se han acumulado en 8; es que en total hay 8 categorias de
productos
En una Consula agrupoada entonces siempre hay un campo criterio de agrupacion(prodria ser
mas de uno), y tambien al otro campo de salida se le aplica una Funcion de Agrupacion ( podria
tambien existir mas de un campo afectado por otra Funcion de Agrupacion) .
Ahora pásemos a ver la Vista SQL para observar el Codigo SQl generado

Discuta con el docente el significado de las instrucciones generadas.


Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta20.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

Consulta 21

Presentar la cantidad de pedidos que ha realizado cada cliente.

Mostrar el nombre del cliente y la cantidad de pedidos que ha realizado.

Solución:

Se requiere La Tabla Clientes y la Tabla Pedidos

Creamos una nueva consulta


Convertimos a la consulta en una Consulta Agrupada
Agrupamos por la Primera columna (NombreCompañía)
Y en la segunda columna en este caso IdPedido le aplicamos la Funcion Cuenta para contar los
pedidos que ha realizado cada cliente,
El resultado es el siguiente:

En este resultado se muestra a los clientes y cuantos pedidos ha realizado cada uno de ellos.
Es un resultado bastante útil para el Gerente de Ventas, seguro; pero también es posible que
el Gerente quiera observar el resultado ordenado por la cantidad de pedidos realizados; de
esta manera podrá darse cuenta cuales son los cliente que han realizado más pedidos y
quienes tiene menos pedidos; luego hay que presentar esta lista de resultados ordenados por
la segunda columna en orden descendente.
Regresamos a Vista Diseño y
En la fila Mostar en la segunda columna elegimos la opción Descendente.
El resultado es ahora

Se nota claramente que la lista esta ordenada desde el cliente que realizo más pedidos hasta
los que hicieron menos pedidos.
Pasamos a la Vista SQL para ver el código SQL generado.

Discuta con el docente el significado de las instrucciones generadas.


Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta21.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

Ejercicios propuestos

Presentar la cantidad de pedidos atendidos por cada empleado.


Mostrar Apellidos y nombres de cada empleado y el total de pedidos realizados por cada
empleado. Guardar como Consulta 21_b

Presentar el total de unidades vendidas por producto.


Mostrar el nombre del producto y el total de unidades vendidas por cada producto.
Guardar como Consulta 21_c
Consulta 22

Presentar el Monto total de ventas por Producto.


Mostrar el nombre del producto y el total de ventas (Dinero) que reporto cada producto.

Solución:
Creamos una nueva consulta con las Tablas Productos y [Detalles de pedidos]

La expresión en la segunda columna es porque por cada venta de un producto hay un


descuento en porcentaje entonces por ejemplo si se realiza un descuento del 10% solo ingresa
el 90% del Precio. Luego lo que se pago es el subtotal por 1 menos el descuento. (1 – 0.1 = 0.9)
Pero al presentar el resultado saldrán todas las veces que se vendieron los productos.
Nosotros queremos agrupar por Producto y sumar todos los Subtotales por producto.
Necesitamos convertir a la consulta en una consulta agrupada.
Además Como el campo PrecioUnidad aparece en las dos tablas, para que no exista
incertidumbre de cuál es la tabla a utilizar, anteponemos el nombre de la tabla, en este caso
[Detalles de pedidos] Lo escribimos entre corchetes, ya que el nombre de la tabla tiene
espacios en blanco.
También la Segunda columna es en realidad un campo calculado; se considera como Expresión
Le cambiamos el nombre de la Expresión por Monto.
Y vemos el resultado hasta el momento
Aparecen los subtotales por cada vez que se vendió un producto; lo queremos es que se
agrupen por el nombre y que se sumen los subtotales por producto
Luego convertimos a la consulta en una consulta agrupada, utilizando el botón de Totales

También elegimos en este caso la funcion Suma para aplicar al segundo campo de salida
Asimismo conviene presentar los resultados ordenados por la segunda columna (Monto) en
descendente.
Luego el resultado es
Se observa que todos los registros se acumularon en 77
Además se puede apreciar que el producto con mayor monto de ingreso por venta es el Vino
Côte de Blaye
Pasamos a la Vista SQL para ver el código SQL generado.

Discuta con el docente el significado de las instrucciones generadas.


Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta22.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

Consulta 23

Presentar el total de unidades vendidas por producto y el Monto total de ventas por Producto.

Solución:

Se debe presentar el nombre del Producto, pero hay dos operaciones que realizar; una en
Sumar las cantidades vendidas por producto, y otra es Sumar los Montos de venta por
producto.
Luego hay que usar dos Funciones de agrupación. Para que la consulta permita analizar mejor
los resultados vamos a mostrar también el Precio promedio de cada producto.
Esta consulta requiere a la tabla Productos y la tabla de [Detalles de pedidos]
Creamos una nueva consulta Agrupada
El criterio de Agrupación es el campo Nombre Producto; pero tenemos actuando a tres
Funciones de agrupación
Pasamos a la Vista Hoja de datos para observar los resultados de la consulta

Analice por que el Producto Vino Côte de Blaye tiene un mayor volumen de ventas
comparándolo con el producto Camembert Pierrot que tiene más unidades vendidas y si
embargo en esta lista está en el quinto puesto.
Pasamos a la Vista SQL para ver el código SQL generado.

Discuta con el docente el significado de las instrucciones generadas.


Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta23.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.
Ejercicios propuestos

Presentar el total de ventas por Cliente.


Mostrar el Nombre del cliente y el monto de sus ventas.
Guardar como Consulta24

Presentar la cantidad de pedidos realizados por cada cliente. Mostrar los 4 primeros.Guardar
como Consulta25

Mostrar el total de gastos de envió de pedidos que se ha pagado a cada empresa transportista.
Guardar como Consulta26

- Consultas que tiene como origen a otras consultas

Consulta 27

Listar el monto por cada pedido

Solución:

Para realizar esta consulta usaremos al Tabla [Destalles de pedidos]

Creamos una nueva consulta con esta tabla entonces:

Usaremos al Formula Precio * cantidad * ( 1 – Descuento ) para calcular el subtotal por cada
venta y luego los agruparemos por cada pedido (IdPedido)

Al segundo campo le aplicamos la función Suma

El resultado es
Se observa el monto total por pedido realizado.

Pasamos a la Vista SQL para ver el código SQL generado.

Discuta con el docente el significado de las instrucciones generadas.


Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta27.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

Consulta 28

Presentar los pedidos realizados, mostrado el número de pedido, Nombre del cliente, Fecha y
monto total de cada pedido.

Solución:

Se requiere la Tabla Clientes para obtener el Nombre del Cliente, también se requiere la Tabla
Pedidos para obtener la fecha de cada pedido; pero los totales por pedido se pueden obtener
de la consulta 27 realizada anteriormente. Esto quiere decir que el origen de datos de una
consulta pueden ser tablas o también otras consultas;

Creamos una nueva consulta


Se observa en el origen de datos que tenemos una consulta además de las dos tablas

Pasamos a la Vista Hoja de datos para ver el resultado de la consulta

Como podemos concluir; en lugar de agrupar y realizar una consulta más compleja, hemos
usado el resultado de una consulta realizada anteriormente, para que se nos facilite la tarea;
ya que parte de los requerimientos estaban ya presentes en los resultados de una consulta
existente. Este método puede ayudar a simplificar el trabajo.

Pasamos a la Vista SQL para ver el código SQL generado.


Discuta con el docente el significado de las instrucciones generadas.
Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta28.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

Consulta 29

Se pide mostrar el monto de ventas por Cliente.

Solución:

Se puede utilizar la consulta anterior (Consulta28), ya que allí se encuentran justos los datos
que se requieren.

Creamos entonces una nueva consulta y tomamos como origen de datos a la Consulta28

Convertimos a la consulta como Agrupada y el criterio de agrupación es en esta caso el campo


NombreCompañía y al campo Monto le aplicamos la Funcion Suma.

El resultado es el siguiente:
La consulta se resuelve de una manera bastante fácil, ya que hemos reutilizado lo que ya tenía
la Consulta28.

Pasamos a la Vista SQL para ver el código SQL generado.

Discuta con el docente el significado de las instrucciones generadas.


Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta29.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

CONSULTAS PARAMETRIZADAS

Cuando se usan filtros en una consulta los criterios del filtro se escriben directamente al
momento de diseñar y construir la consulta; luego estos criterios quedan grabados junta con la
consulta y el usuario final no los puede cambiar.

Podría darse el caso de un criterio que pueda variar de acuerdo a cada usuario entonces
tendríamos que estar creando consultas para cada usuario aunque sean prácticamente iguales
y solo cambie el criterio que necesita cada usuario.

En estos casos es conveniente crear una consulta que le permita al usuario final ingresar su
requerimiento de filtro específico al momento de ejecutar la consulta. Esto permitirá que la
misma consulta se pueda usar muchas veces para requerimientos cambiantes.

Esta tipo de consultas de denominan Consultas Parametrizadas; un Parámetro es una variable


cuyo valor se ingresar por el usuario final al momento de ejecutar la consulta.

Consulta 30
Crear una consulta que permita ver los pedidos realizados en una determinada fecha ingresada
por el usuario. Se debe mostrar en el resultado el número del pedido, el nombre del cliente y
el monto del pedido.

Solución:

Como lo que se requiere se encuentra precisamente en la consulta 28

Creamos una nueva consulta tomando como origen de datos a esta consulta.

Nótese que el criterio del filtro se ha escrito entre corchetes un mensaje

[Ingrese una Fecha]

Esto para el ACCESS significa que hay un Parámetro en el criterio del filtro; es decir, el usuario
tendrá que ingresar el dato solicitado por el filtro al momento que ejecute la consulta.

Pasmos a la Vista Hoja de datos para verificar el resultado de la consulta y aparece

Esta ventana está solicitando que se escriba el valor del parámetro (en este caso una fecha)
para poder ejecutar finalmente la consulta.

Por ejemplo vamos a ingresar la fecha 15/1/1998


Luego apretamos el botón de Aceptar

El resultado es

Solo se realizaron 3 pedidos en esa fecha

Si se ingresa otra fecha devolverá otros resultados y así sucesivamente. Luego el resultado de
lo devuelva la consulta ahora está en las manos del usuario; él decide qué fecha ingresar.

Pasamos a la Vista SQL para ver el código SQL generado.

Discuta con el docente el significado de las instrucciones generadas.


Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta30.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

Ejercicio propuesto

Usando la Tabla de Productos y Categorías, crear una consulta que solicite el código de una
categoría y que muestre el nombre de la Categoría y los artículos correspondientes a dicha
categoría.
Guardar como Consulta 30_b

Consulta 31
Crear una consulta que solicite una fecha inicial y una fecha final para mostrar el nombre del
cliente, la fecha del pedido y el monto del pedido para ese intervalo de fechas ingresados por
el usuario.

Solución:

Los datos requeridos están en la consulta28 creada anteriormente.

Luego creamos una nueva consulta teniendo como origen de datos a la Consulta28.

En el criterio hemos usado la cláusula ENTRE, ya que se trata de un intervalo cerrado de


fechas.

Ejecutamos la consulta para probar Cada Mensaje escrito entre corchetes indica un Parámetro
cuyo valor será ingresado cuando se ejecute la consulta.

Vamos a probar la consulta pasando a Vista Hoja de datos; luego se muestra:

Se solicita el valor del primer parámetro. Le ingresamos 15/1/1998

Ahora se nos pide el valor del segundo Parámetro, le ingresamos 20/1/1998


Y el resultado es

Solo 10 registros cumplen con los valores que se ingresan para los Parámetros.

Pasamos a la Vista SQL para ver el código SQL generado.

Discuta con el docente el significado de las instrucciones generadas.


Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta31.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

Consulta 32

Crear una consulta que permita ver el monto total de ventas de un cliente determinado que
haya sido atendido por un empleado determinado.

Solución:

Se requieren las Tablas Empleados, Clientes, Pedidos y la Consulta 28 que tiene los totales por
pedido. Luego creamos una nueva consulta con este origen de datos.
Es una consulta agrupada por los cinco primeros campos de la salida de la consulta; se está
aplicando una Función SUMA al campo Monto para sumar los mostos de cada pedido por cada
grupo que se forma.

Los Parámetros de entrada son el IdCliente y el IdEmpleado, cuyos datos se ingresarán cunado
se ejecuta la consulta.

Pasamos la Vista Hoja de datos para probar la consulta.

Primero se pide el código de un cliente; le vamos a ingresar BERGS

Luego pedirá el Código de un Empleado y le ingresamos el valor 3

A continuación, el resultado final es

en cambio, para el mismo cliente, pero con el vendedor 2 el Monto de ventas es diferente.
Pasamos a la Vista SQL para ver el código SQL generado.

Discuta con el docente el significado de las instrucciones generadas.


Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta32.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

Consultas de Referencias cruzadas

Este tipo de consultas se presentan cuando se requiere agrupar por un criterio por fila y
también por otro criterio por columna. Permiten analizar datos entonces usando dos entradas
(de filas y columnas), agrupando registros y calculando totales con los valores incluidos.

Consulta 33

Presentar el total de Pedidos realizados por cliente en cada año.

Solución:

Creamos una nueva consulta con las Tablas Pedidos y Clientes.

Agregamos los capos NombreCompañía de la tabla Clientes, Fecha e IdPedido de la Tabla


Pedidos.

En el grupo Tipo de consulta elegimos el botón General para cambiar la consulta Referencia
Cruzada.
Luego se muestran dos filas adicionales

Como vamos agrupar por encabezado de fila respecto al Nombre del Cliente

Elegimos de la primera lista

En la Segunda fila usamos la Función Año para extraer el Año del campo FechaPedido
Nótese que la segunda columna se transformó en una Expresión. Además, elegimos Agrupar
por Encabezado de Columna.

En el campo IdPedido no se va realizar agrupación alguna, se va aplicar una función de


agrupación, en este caso se va contar los pedidos; luego la función que elegimos es Cuenta.

Además, en la Fila Tab de ref cruz elegimos la opción Valor

Finalmente, la consulta queda así


Pasamos a la Vista Hoja de datos para ver el resultado de la consulta

El resultado muestra 89 clientes y por cada uno de ellos se está presentando el total de pedios
que ha realizado en cada año (se tienen registrados tres años de ventas).

Por ejemplo, el cliente Berglunds snabbköp en el año 1996 realizo 3 pedidos, en el año 1997
realizo 11 pedidos y en el año 1998 realizo 5 pedidos. Estos resultados muestran una
información bastante detallada.

Pasamos a la Vista SQL para ver el código SQL generado.

Nótese que la cláusula para agrupar por fila sigue siendo GROUP BY, en cambio para agrupar
por columna se usa la cláusula PIVOT. Además, la función de agrupación está involucrada en la
Cláusula TRANSFORM
Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta33.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

Ejercicio propuesto

Mostrar el número de pedidos mensuales emitidos por cliente, durante el año 1996

Guardar como Consulta34


Consulta 35

Usando la tabla de Productos, Detalles, Pedidos, Clientes y Categorías, genere una consulta
que muestre el total de unidades despachadas por Cliente y por Categoría.

Solución:

Creamos una nueva consulta y usamos la herramienta General para convertirla en consulta de
referencias cruzadas

Nótese que se va Agrupar por NombreCompañía como Encabezado de fila y se va agrupar por
NombreCategoría como Encabezado de columna. Al campo Cantidad se la plica la función
SUMA, y se presenta como Valor en la Fila de Tab ref cruz.

Pasamos a la Vista Hoja de datos para ver el resultado de la consulta y tenemos entonces:

Se presentan un total de 89 registros (89 clientes) y a la derecha la cantidad de productos que


comprado por categoría.

Pasamos a la Vista SQL para ver el código SQL generado.

Se agrupo por fila por NombreCompañía con la cláusula GROUP BY.


Se agrupo por columna por NombreCategoría con la cláusula PIVOT
Se le aplico la función SUM al campo cantidad dentro de la cláusula TRANSFORM
Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Regresamos a la Vista Diseño y luego guardamos la consulta como Consulta35.
Cerramos la ventana Diseño Consulta.
La consulta se puede observar en el panel Izquierdo.

Consultas de Acción

En las consultas de selección, los datos originales de las tablas que son el origen de datos no se
alteran para nada.

Las consultas de Acción si pueden modificar los datos en el origen de datos.

A continuación, veremos unos ejemplos de este tipo de consultas de acción.

Se pide realizar una actualización de los precios de los productos incrementándolos en un 25%

En primer lugar, abrimos la tabla de los Productos para observar sus precios actuales.

Existen 77 productos observe los precios actuales de los tres primeros 18,00 19,00 10,00

Cerramos la tabla y creamos una nueva consulta con esta tabla. Agregamos el campo
PrecioUnidad

Ahora modificamos el tipo de consulta. En el grupo Tipo de Consulta elegimos el Tipo de


consulta Actualizar
El diseñador de consultas cambia así

En la fila Actualiza a: escribimos la expresión que aumente el precio en un 25%

[PrecioUnidad] * 1.25

Guardamos la consulta como Consulta36. Observamos en la ventana de la izquierda que el


icono de la consulta cambia
Cerramos la consulta.

Luego en la ventana de la izquierda (Todos los objetos), ubicamos la consulta36 y la abrimos.

A continuación, se muestra la siguiente ventana

Si estamos seguro que vamos a cambiar los datos en la tabla, aceptamos eligiendo el botón Si

Aparece otra ventana de advertencia

Ya que se van a cambiar datos en los 77 productos registrados en esta tabla.

Aceptamos eligiendo el botón Si

Terminado el proceso hay que abrir nuevamente la tabla original para ver si cambiaron los
datos en los precios.

Comparamos los precios delos tres primeros de la lista y observamos que si han cambiado los
precios con un aumento del 25%

los precios anteriores de los tres primeros fueron 18,00 19,00 10,00

los precios actualizados de los tres primeros son 22,5 23,75 12,50
Cerramos la tabla y regresamos a la Vista Diseño de la consulta36.

Pasamos a la Vista SQL para ver el código SQL generado.

La instrucción SQL utilizada en realidad ya no es SELECT. Ahora se está usando la instrucción


UPDATE, la cual significa actualizar. Además, la cláusula SET sirve para indicar cuales el campo
que va a ser actualizado.
Guardar el código SQL generado y lo añadirlo al documento “Consultas SQL en ACCESS” creado
anteriormente.
Tenga cuidado de no ejecutar esta consulta más de una vez porque si no el proceso de
actualización se volverá a repetir y los datos nuevamente cambiaran.

Ejercicio propuesto.

Cree una consulta de acción para que los precios de los productos regresen a su estado inicial.

Guardar como Consulta37

Consulta 38

Actualizar la tabla de Productos estableciendo que el stock actual de los productos


correspondientes a Bebidas aumente en 50 unidades.

Solución:

Creamos una nueva consulta con la tabla Productos seleccionamos el campo


UnidadesEnExistencia y luego convertimos a la consulta en Consulta de Acción.
Como la categoría correspondiente a las bebidas Tiene el IdCategoría =1

Lo vamos a utilizar como Criterio de filtro para que solo se actualicen los productos que
cumplan con esta condición.

A continuación, entonces escribimos en la Fila Criterios:

Guardamos la consulta como Consulta38 y Cerramos la consulta

Verificamos la condición actual de los productos en la Tabla Productos

Tomemos como muestra que los dos primeros corresponden a la categoría 1 y tres más para
luego hacer la comparación después que se realicen los cambios.

IdProducto categoría UnidadesEnExistencia

1 1 39

2 1 17

3 2 13

4 2 53

5 2 0

Cerramos la tabla

Abrimos la consulta38 y aparece


Elegimos Si

Elegimos Si otra vez

Abrimos la tabla de Productos y observamos los cambios

Comparando con el estado anterior de la tabla

IdProducto categoría UnidadesEnExistencia(antes). UnidadesEnExistencia(actual)

1 1 39 89

2 1 17 67

3 2 13 13

4 2 53 53

5 2 0 0

Solo cambiaron el Stock los que tiene la categoría 1, el resto sigue igual

Cerramos la tabla y abrimos nuevamente la Vista Diseño de la consulta 38


Se observa que existe una clausula WHERE, la cual establece el filtro para que la condición sea
que solo los que la cumplen, en este caso solo los que tienen el valor de IdCategoría=1
cambien sus valores de UnidadesEnExistencia aumentando en 50.

Regresamos Vista Diseño y cerramos la consulta.

Ejercicios propuestos.

Regrese el Stock de los productos al estado inicial. Guarde la consulta de acción como
Consulta39

Consultas de Creación de Tablas

Normalmente las consultas de selección muestran sus resultados y luego al cerrar la consulta
estos daos desaparecen del espacio temporal donde se ubicaron.

Se podría enviar los resultados de una consulta a una tabla para que se guarden de manera
permanente en la base de datos como una tabla Libre.

Per esta atabla cada vez que la abramos muestra los datos tal y como estaban en el momento
que la creamos; es decir si los datos del origen de datos original (las tablas) cambian esta tabla
libre no se actualizará con esos cambios. Estas tablas se crean generalmente cuando se
quieren guardar valores históricos en un momento dado de la existencia de la Base de datos.

Consulta 40

Crear un Tabla que muestre el total de ventas por categoría para las ventas realizadas durante
el año 1996

Solución:

Creamos una consulta agrupada por categorías. Además, usamos la expresión del subtotal de
venta PrecioUnidad * Cantidad * (1 – Descuento)
Pero como debemos filtrar por año nos ubicamos en tercera columna para establecer este
criterio

Observamos que se necita el dato de la fecha del pedido, luego añadimos la Tabla Pedidos
para poder establecer esta condición.

Escribimos la expresión que extrae el Año a la fecha Año(FechaPedido)

En la Fila Total elegimos la opción Donde

En la Fila Criterios escribimos 1996


Nótese que el cuadrito de Mostrar: en la columna de la expresión no esta marcado, lo que
quiere decir que esta no se mostrara en la salida de la consulta, ya que esta expresión solo
sirve para filtrar la consulta.

Pasamos a la Vista Hoja de datos para ver el resultado de la consulta

Estos resultados existen temporalmente, mientras no se cierre la consulta.

Si queremos consérvalos y pasar los datos a una tabla permanente, debemos el tipo de esta
consulta a una consulta de creación de tabla.

En el Grupo Tipo de Consulta elegimos el tipo de consulta Crear Tabla.

Ahora tenemos esta ventana que nos pide el nombre de la nueva tabla que va a ser creada con
los resultados de esta consulta escribimos VentasCate1996

Además, elegimos que se guarde en la Base de datos activa (la que estamos usando).
Luego elegimos el botón Aceptar.

Guardamos como Consulta40. Se observa en el panel izquierdo que se a guardado con un


icono diferente a los demás tipos de consultas.

Cerramos la consulta

Ahora desde el panel de la izquierda la elegimos e intentamos abrirla. Aparece una ventana de
aviso

Aceptamos eligiendo el botón Si. Aparece otra ventana de aviso indicándonos que se va crear
una tabla con 8 registros. Aceptos eligiendo el botón Si

Luego observamos que el panel de la izquierda aparece una nueva tabla


Podemos abrir la tabla para ver su contenido.

Estos resultados son históricos si las tablas orinales cambiaran no van a afectar estos
resultados.

Cerrar la tabla.

Ejercicios propuestos.

Crear una Tabla VentasCate1997 que muestre el monto de ventas realizados por categoría,
para las ventas realizadas durante el año de 1997. Guardar la consulta como Consulta41.

Crear una Tabla VentasCate1998 que muestre el monto de ventas realizados por categoría,
para las ventas realizadas durante el año de 1998. Guardar la consulta como Consulta42.

También podría gustarte