Este documento describe diferentes tipos de consultas en Access, incluyendo consultas con grupos, cálculos agregados, parámetros y campos calculados. Explica cómo crear grupos y agregados, definir y utilizar parámetros como criterios de búsqueda dinámicos, y agregar campos calculados a las consultas usando expresiones. También cubre el uso del generador de expresiones y la eliminación de parámetros.
2. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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
3. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_www.lombokdesign.com
3
Consultas de selección I
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
4. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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
5. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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
6. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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.
7. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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
8. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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
9. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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.
10. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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.
11. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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
12. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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.
13. Tema6. Consultas II
C/ Miguel de Unamuno, 1_47008_Valladolid
Tel. 983249455 / 625569162_Fax 983243547
alfredovela@revistaformacion.com_www.ticsyformacion.com
Plaza Iturrilun nº5 bajo_20800 Zarautz_Gipuzkoa
Tel. 943830230_Fax 943830233
comercial@lombokdesign.com_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