PRACTICA DE ACCESS TIPOS DE CONSULTAS.docx

9

Click here to load reader

Transcript of PRACTICA DE ACCESS TIPOS DE CONSULTAS.docx

PRACTICA DE ACCESSOTROS TIPOS DE CONSULTASLos campos calculadosUn campo de este tipo es aqul que no existe en la tabla y que se crea slo temporalmente dentro de una columna en la consulta para realizar algn tipo de operacin matemtica.Por ejemplo, podra utilizarse para calcular el sueldo que va a recibir cada uno de los vendedores. Supongamos que adems del salario que figura en la tabla de vendedores, cada uno recibe un 5% de su salario en concepto de bonificacin y que despus se le descuenta un 8% para pagar el IRPF y la Seguridad Social.

Las formulas o expresiones a poner en cada columna de la vista de diseo de la consulta sonColumna Expresin1 Salario2 Bonificacin: salario* 5/1003 Bruto: Salario+ Bonificacin4 Retencin: Bruto* 8/1005 Neto: Bruto Retencin6 NombVenPara introducir los valores en las columnas utilizaremos el generador de expresiones, y de esta forma nos aseguramos de que se utilice la sintaxis correcta.

Funciones de grupoNo obstante en muchas ocasiones necesitaremos realizar clculos que involucren los datos contenidos en varias filas de tablas o de consultas (tablas virtuales). Por ejemplo: suponga que deseamos saber cuntos clientes tenemos. La solucin es sencilla, pues si tenemos en cuenta que disponemos de una tabla de clientes y que cada una de sus filas contiene los datos de un nico cliente, parece evidente que lo nico que hay que hacer es contar las filas.

Para resolver este tipo de situaciones en las que hay que hacer clculos utilizando grupos de filas los gestores de bases de datos en general disponen de varias funciones especiales que se llaman funciones de grupo o funciones agregadas. Estas funciones en Access son:Funcin DescripcinCuenta Para contar el nmero de filas del grupoSuma Para sumar el contenido del campo especificado de todas las filas del grupoPromedio Para hallar la media aritmtica del campo especificado de todas las filas del grupoMn Para hallar el menor valor del campo especificado de todas las filas del grupoMx Para hallar el mayor valor del campo especificado de todas las filas del grupoDesvEst Para hallar la desviacin tpica del campo especificado de todas las filas del grupoVar Para hallar la varianza del campo especificado de todas las filas del grupoPrimero Para hallar el valor del campo de la primera fila del grupoltimo Para hallar el valor del campo de la ltima fila del grupo

Para poder utilizar ests funciones hay hacer clic sobre el botn Totales de la barra de botones, o seleccionando la opcin Totales del men contextual. Entonces veremos que en la cuadricula QBE ha aparecido una nueva fila. Se trata de la fila Total en la que vemos que, por defecto, en todas sus celdas aparece Agrupar por. Si ponemos el cursor del ratn en la parte derecha de estas celdas veremos que aparece un cuadro combinado con todas las opciones posibles. La funcionalidad Agrupar por se aplica a aquella columna o columnas que vamos a utilizar para hacer grupos de filas.

Pero empecemos por el caso ms sencillo: vamos a considerar un nico grupo de filas formado por la totalidad de filas de una tabla, como en el caso de resolver el problema anteriormente planteado de cuantos clientes tenemos.Para ello seguimos los siguientes pasos: Creamos una consulta en vista diseo. Seleccionamos la tablaclientes. Elegimos uno cualquiera de sus campos, por ejemplo Nombre. Nos da igual el campo que elijamos pues solo lo vamos a utilizar como referencia para contar cuantas filas tiene la tabla.

A su izquierda ponemos como nombre de la columna NumClientes, de manera que quedara NumClientes:NombCli no se olvide de los dos puntos ya que esa es la forma en que Access interpreta cual es titulo de la columna y cual es el campo.Pulsemos sobre el botn de totales, y cambiemos la opcin por defecto, por Cuenta actuando sobre el cuadro combinado.

Pasemos ahora a resolver un problema ms complejo como por ejemplo determinar el nmero de clientes de cada una de las provincias. En este caso tendremos que usar las tablas provincias, localidades y clientes, puesto que nos hacen falta los campos Nombre de la tabla Provincias y Nombre de la tabla Clientes. Y entonces por qu es necesaria la tabla localidades? Pues porque es la tabla que sirve para relacionar Clientes con Provincias, y si no la utilizsemos el resultado de la consulta no tendra sentido.

EJERCICIOSDisear consultas para:

1. Crear una consulta que muestre para cada gnero el mximo y el mnimo precio de las pelculas.2. Crear una consulta que muestre para cada gnero la suma de los precios de las pelculas.3. Crear una consulta que muestre para cada vendedor el nmero de pelculas que ha vendido.4. Crear una consulta que muestre para cada vendedor y por cada gnero: el nmero total de pelculas que ha vendido5. Crear una consulta que calcule el nmero de facturas por cliente, para todos los clientes.

EJERCICIOS

Disear consultas de tabla de referencias cruzadas para:

1. Pelcula por Gnero2. Nmero de Facturas por Pelcula y Vendedor3. Numero de Facturas por Pelcula y provincia4. Localidades por Provincia5. Importe de la facturacin de Pelculas por cada Vendedor6. Cantidad de pelculas por Vendedor7. Cantidad de pelculas por provincias8. Cantidad de pelculas por cliente

Consultas con parmetros

Las consultas que se han visto hasta ahora son estticas ya que tenemos que dejar fijos todos los elementos que las forman. No obstante Access da la posibilidad de que las consultas interaccionen con los usuarios, durante su ejecucin, pidindoles ciertos datos, por teclado, necesarios para completar la consulta. De esta forma nos encontramos con consultas ms dinmicas y por supuesto mucho ms potentes. Se trata de las denominadas consultas con parmetros.Un ejemplo puede ser la obtencin de las facturas de un determinado ao. Este tipo de consultas, cada vez que se ejecutan, muestran un cuadro de dilogo en el que solicitan cierta informacin necesaria para completar la consulta.Los pasos a seguir son muy simples: se disea la consulta y, a continuacin, se aade a la cuadrcula QBE, de diseo, las variables que vamos a utilizar como parmetros. stas se escriben entre corchetes. El nombre de las variables no puede ser el de ninguno de los campos existentes en la base de datos. De esta forma cuando Access busca el nombre del parmetro entre los diversos campos, y no lo encuentra solicita el valor mediante una ventana de entrada de datos.Imagine que desea conocer los datos de las facturas de un determinado cliente, por ejemplo de aquel cuyo cdigo es el 264. La consulta de seleccin correspondiente tendra el siguiente aspecto.

Evidentemente esta consulta slo valdra para obtener los datos correspondientes al cliente 264. Pero y siahora queremos hacer lo mismo para los clientes 24, 123, 45, etc. Evidentemente el problema se resolveracreando tantas consultas como clientes tenemos y poniendo sus respectivos cdigos como criterio. Pero esta solucin no es nada eficiente.La solucin ptima y mucho ms elegante consistira en disear una consulta de seleccin que en la celda interseccin de la fila Criterios con la columna de CodCli tuviese un parmetro.

De esta manera cada vez que se ejecute la consulta Access preguntar el valor del parmetro y mostrar una ventana con un mensaje donde se puede introducir el valor que interese a travs del teclado.

En esta ventana se escribe un cdigo valido de cliente y Access devolver las facturas de ese cliente. Por ejemplo si introduzco 150 como cdigo de cliente, el resultado es:

Ejercicios

1. Crear una consulta que muestre las facturas correspondientes a una fecha de inicio y una fecha de fin, que se introducir por teclado durante la ejecucin de la consulta2. Crear una consulta que muestre los datos ms relevantes de las pelculas de un determinado gnero, que ser introducido por teclado.