13

Tema6 consultas ii

Embed Size (px)

DESCRIPTION

Consultas de seleccion con parametros y campos calculados en Access 2007

Citation preview

Page 1: Tema6   consultas ii
Page 2: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

2

Índice

CONSULTAS DE SELECCIÓN II ........................................................................................................... 3

1. CONSULTAS CON GRUPOS ............................................................................................................... 3 2. AÑADIR CÁLCULOS A LOS GRUPOS ................................................................................................... 4 3. CONSULTAS CON CRITERIOS VARIABLES ........................................................................................... 6

3.1. Definir parámetros ................................................................................................................. 6 3.2. Utilizar parámetros como criterios ......................................................................................... 6 3.3. Ejecutar consulta con parámetros ......................................................................................... 7

4. CONSULTAS CON CAMPOS CALCULADOS ........................................................................................... 9 4.1. Generador de expresiones .................................................................................................. 10 4.2. Consultas con campos calculados y parámetros ................................................................ 12

5. ELIMINAR PARÁMETROS ................................................................................................................. 13

Page 3: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

3

Consultas de selección II

En este tema aprenderá a trabajar con consultas de selección que le permitirán agrupar los y

registros por alguno de sus campos y realizar cálculos para cada uno de esos grupos. También

se describe el modo de trabajar con parámetros y cómo incluir campos calculados.

1. Consultas con grupos

Cuando en una consulta agrupa por un campo, muestra en ese campo los valores diferentes que

encuentra sin repetir ninguno.Cada uno de esos valores diferentes es un grupo. Además puede

incluir cálculos para cada uno de los grupos.

En la vista diseño de una consulta active Totales. Baje el campo por el que desee crear grupos

a la cuadrícula y en la fila Total seleccione Agrupar por

Si a partir de esta tabla de CURSOS se desea conocer las diferentes aulas en las que se

imparten cursos

Lo más rápido es una consulta en la que muestre y agrupe por el campo AULA

Page 4: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

4

2. Añadir cálculos a los grupos

Cuando en una consulta agrupa por un campo, de forma interna está seleccionando los registros

de la tabla para cada grupo, es por ello que a cada grupo se le pueden añadir cálculos aplicados

sobre algun otro campo. Esos cálculos los realiza con los valores de los registros de cada grupo.

En una consulta con grupos no se visualiza el detalle de cada registro y no se pueden modificar

los datos en la vista hoja de datos del resultado que muestra.

Siguiendo con el ejemplo anterior, de hacer grupos por aulas, ha creado internamente los

siguientes grupos:

En la consulta por grupos puede solicitar un cálculo para contar los cursos en cada aula, otro

que calcule la duración media de los cursos de cad aula, otro que calcule las horas totales que

se imparten en cada aula.

El modo de hacerlo es en la vista diseño de la consulta: primero baja a la cuadrícula el campo

por el que realiza los grupos y elige Agrupar por en la fila Total.

Después baja cada uno de los campos en los que va a realizar cálculos y en la fila Total

selecciona el cálculo

Page 5: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

5

El resultado de esta consulta es el siguiente:

No muestra el detalle de los registros de cada grupo y no se pueden modificar los datos desde

la vista hoja de datos

Cuando crea consultas de grupos, puede agrupar por más de un campo. En el ejemplo siguiente

se diseña una consulta que muestre el número de cursos. Que da cada monitor en un aula

Page 6: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

6

3. Consultas con criterios variables

Un parámetro es una variable de memoria que recoge un valor que da el usuario. Si se emplea

en la fila de criterios de un campo que tenga el mismo tipo de datos y con cualquier operador de

comparación, cuando la ejecuta, le pide al usuario que dé valor a ese parámetro, estableciendo

ese valor dado para el criterio.

En definitiva, una consulta con un parámetro en la fila criterios equivale a tener múltiples

consultas, cada una de ellas con el valor que asigna al parámetro.

El parámetro le solicita cuando la ejecuta pero no cuando accede a la vista diseño de la consulta.

3.1. Definir parámetros

Para definir parámetros en una consulta, debe hacerlo en la vista diseño de la consulta y

empleando el comando Parámetros de la ficha Diseño

Le mostrará una ventana donde debe indicar el nombre del parámetro que va a definir y el tipo

de datos que alamcenará. Pulse Aceptar para terminar

Un parámetro no puede tener el mismo nombre que un campo de la tabla, aunque sí puede

emplear un nombre parecido

3.2. Utilizar parámetros como criterios

Se emplean en la fila criterios, debajo del campo correspondiente. Donde utilice el parámetro

escriba el nombre del parámetro entre corchetes. Antes de emplear el nombre de un parámetro

utilizará un operador de comparación (excepto para el igual = , que puede omitirlo).

Puede emplear un parámetro sin haberlo definido previamente, pues si en la cuadrícula emplea

un nombre que no asocia a ningún campo, Access entenderá que es un parámetro.

Page 7: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

7

Si en la cuadrícula emplea este parámetro para el campo AULA del modo siguiente

Cuando ejecute la consulta solicitará el valor del parámetro ‘Que aula’ si su respuesta es una de

las aulas que tiene (AULA 1, AULA 2 o AULA 3) será como si hubiese empleado como criterio el

nombre de una de esas aulas. En lugar de tres consultas tiene una sola.

3.3. Ejecutar consulta con parámetros

Abra la consulta desde el explorador si ya estaba gurdada y cerrada o si estaba en la vsta diseño

puede cambiar a la vista hoja de datos.

Mostrará una ventana diferente para cada parámetro que haya definido, solicitando un valor para

ese parámetro:

El resultado en este ejemplo será el siguiente

Si cierra la consulta y vuelve a ejecutarla, volverá a solicitar el valor del parámetro

Page 8: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

8

Para que quede claro que es posible emplear cualquier operador de comparación con un

parámetro realizaremos un ejemplo para obtener una consulta que pregunte por la duración

mínima de los cursos y dependiendo del valor que demos nos muestre un resultado diferente.

Creaemos una consulta nueva de la tabla CURSOS y definiremos el parámetro Duracion minima

de tipo numérico (entero largo) como el campo DURACION

Para que muestre toda la información de los cursos que tienen al menos esta duración, en la

cuadrícula utilizará lo siguiente:

Guarde la consulta con el nombre CURSOS por duración minima. Luego ejecute la consulta

Page 9: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

9

4. Consultas con campos calculados

En una consulta de selección, además de mostrar campos de la tabla puede definir campos que

sólo se visualicen cuando ejecuta la consulta y que sean el resultado de operar con campos de

la tabla.

Para definir un campo calculado debe encontrarse en la vista diseño de la consulta. En la fila

Campo, en la primera columna libre, escribirá el nombre del campo calculado y separado por dos

puntos la expresión del cálculo correspondiente

Nombre de campo: expresión de cálculo

Realizaremos un ejemplo donde estableceremos un coste de curso, de modo que cada hora sea

a 70 €

Cuando muestre la hoja de datos de esta consulta verá un nuevo campo cuyo contenido no

podrá modificar desde la hoja de datos por tratarse de un campo calculado.

Page 10: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

10

En la expresión de cálculo puede utilizar los operadores aritméticos que conoce:

+ Suma

- Resta

* Multiplica

/ Divide

^ Eleva a un exponente

Si emplea nombre de campo, éstos irán entre corchetes. Podrá emplear el nombre de otro

campo calculado y también irá entre corchetes.

Como se explicó en el punto anterior, debe ser cuidadoso al escribir, pues si el nombre de un

campo no lo escribe de forma correcta, entenderá que se trata de un parámetro y solicitará su

valor al ejecutar la consulta.

4.1. Generador de expresiones

Para ayudarse en las expresiones de cálculo puede utilizar el generador de expresiones de

Access, ya sea en la creación de un campo calculado o en la escritura de un criterio más

complejo.

Para el ejemplo, vamos acrear el campo calculado de COSTE CURSO empleando el generador.

Pulse el botón derecho del ratón donde precise de esa expresión calculada y en el menu

contextual seleccione Generar

Muestra un cuadro de diálogo que en la parte inferior tiene tres columnas. La primera es de

objetos, funciones, operadores, … Si ese elemento tiene un +, haga doble clic para mostrar su

contenido.

Page 11: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

11

Vamos a definir la misma expresión del campo calculado anterior

Una vez que ve el elemento que le interesa haga clic en él. Así le mostrará en la segunda

columna los elementos de este objeto, en este caso, son los campos de la tabla CURSOS.

Para seleccionar un campo haga clic en el nombre del campo en la segunda columna

Page 12: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

12

Pulse Aceptar para terminar. Luego en la cuadrícula valide con INTRO la expresíón obtenida

Al comenzar con el generador de expresiones no ha utilizado nombre de campo y asiga un

nombre a la expresión Expr1. Puede cambiarlo por el nombre de campo que desee (COSTE

CURSO).

4.2. Consultas con campos calculados y parámetros

Es posible incluir ambos elementos en una consulta. Los parámetros no siempre se emplean en

la fila de Criterios, también pueden emplearse en la fila Campo, formando parte de la expresión

que define un campo calculado.

Siguiendo con el ejemplo anterior, si se desea incluir un campo calculado para obtener el coste

de cada curso, y este precio, puede cambiar de un tiempo a otro, puede utilizar un parámetro

para el precio/hora.

Page 13: Tema6   consultas ii

Tema6. Consultas II

C/ Miguel de Unamuno, 1_47008_Valladolid

Tel. 983249455 / 625569162_Fax 983243547

[email protected]_www.ticsyformacion.com

Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa

Tel. 943830230_Fax 943830233

[email protected]_www.lombokdesign.com

13

El parámetro empleado es PRECIO_HORA. Cuando ejecute la consulta pedirá este valor,

dependiendo de que devuelva 50, 70, 30 … el coste de los cursos será diferente

5. Eliminar parámetros

Si en una consulta elimina de las expresiones de la fila Criterios y de la fila Campo los

parámetros que empleba sustituyendolos por valores concretos o campos de la tabla puede ser

suficiente si no había realizado una definición del parámetro en la ventana Parámetros.

Si habia realizado esa definición, además de eliminarles de esas expresiones debe eliminarlos

de la ventana Parámetros. Muestre esa ventana utilizando el comando Parámetros de la ficha

Diseño en la vista Diseño de la consulta