You are on page 1of 26

Manual de

  
Access

CAPÍTULO 3 – CONSULTAS

3.1. – Definición.

Una consulta recupera informaciones de la Base de Datos y eventualmente las presenta en la


pantalla. Serán estudiados tres tipos de consultas:

 De selección: selecciona y presenta registros en formato patrón


 De referencias cruzadas: selecciona y presenta registros en formato de planilla
 De acción: altera el contenido de registros en una única operación

Los registros seleccionados constituyen un conjunto. Este conjunto es dinámico en el sentido de que
su contenido tiene por origen varias tablas y con el sentido de solo existir mientras la consulta esté
activa. Al cerrar una consulta, el conjunto de registros deja de existir. Esto constituye una gran
ventaja pues si alteramos los datos de una tabla las consultas sobre ella automáticamente reflejarán
esas alteraciones.

Las consultas constituyen un recurso práctico para obtener informaciones específicas contenidas en
la Base de Datos. Con ellas podemos:

 Elegir campos específicos de tablas específicas;


 Seleccionar informaciones vía criterios;
 Mostrar las informaciones en varios órdenes;
 Obtener datos de varias tablas simultáneamente;
 Calcular totales;
 Crear formularios e informes;
 Crear otras consultas y gráficos.

3.2. – Generar una nueva consulta.

La obtención de una nueva consulta es hecha a partir de la ventana Base de Datos, seleccionando
Consultas y picando en la opción Nuevo. En respuesta aparecerá un cuadro de diálogo que le permite
a Ud. elegir el modo de cómo, la consulta, debe ser construida. O Ud. mismo monta la consulta a
través del modo Vista Diseño o Ud. utiliza los Asistentes, que facilitan el montaje tanto de consultas
como de informes, formularios, etc.

Al elegir el modo Vista Diseño, aparecerá la ventana Consulta de Selección sobrepuesta con la
ventana de diálogo Mostrar tabla. Para cada tabla o consulta a adicionar, seleccione su nombre y
pique en el botón Agregar. En el caso que se adicione una tabla / consulta equivocada, basta
seleccionarla y apretar DEL para borrarla del área de tablas.
FIGURA 3.1Ventana Mostrar tabla de consulta.

La activación de la ventana de diálogo Mostrar tabla también puede ser realizada a través del menú
Consulta opción Mostrar tabla o por el botón correspondiente en la barra de herramientas.

La ventana Consulta Selección posee dos áreas, el área de las tablas envueltas en la consulta y el área
de la consulta propiamente dicha. En esta última área el montaje de la consulta es hecho a través del
esquema QBE (Query By Example). En este esquema creamos las consultas arrastrando campos
del área superior de la ventana para el área inferior. En la planilla QBE cada columna contiene
informaciones al respecto del campo incluido en la consulta.
FIGURA 3.2 Barra de herramientas de la ventana Consulta.

La figura 3.3 muestra la estructura de la consulta que fue denominada "Ingenieros de la Empresa".
Al accionar la ejecución de la consulta aparece el resultado presentado en la figura 3.4. Esta figura
muestra que el resultado es presentado en una hoja de datos que, en principio, puede ser también
usada para alterar y excluir registros.
FIGURA 3.3 Estructura de la Consulta Ingenieros de la Empresa.
FIGURA 3.4 Hoja de Datos de la consulta Ingenieros de la empresa

3.3. – Adicionar campos a la consulta.

Inicialmente se debe seleccionar los campos en la tabla. Se Puede seleccionar varios campos picando
y apretando simultáneamente SHISFT o CTRL. Enseguida, apuntar para alguno de los campos
seleccionados y arrastrarlo para la línea Campo: en el área inferior.

También es posible adicionar un campo seleccionándolo desde el Campo en el área inferior. Basta
abrir el cuadro de combinaciones que aparece cuando el punto de inserción está posicionado en el
área del Campo y elegir entre los campos listados.

Para adicionar todos los campos de la tabla a la planilla QBE es necesario inicialmente seleccionar
todos los campos. Hay un atajo para esta tarea: basta picar dos veces en la barra de título de la tabla.
Otro método consiste en el arrastre de la línea de asterisco (*) de la tabla para algún campo de la
parte inferior. Mientras tanto, en este caso él arrastra toda la tabla y produce un efecto secundario
interesante: en caso que la tabla vaya a ser alterada en su estructura, por adición/exclusión de
campos, no será necesario rehacer la consulta. Por otro lado, campos QBE basados en asterisco no
admiten criterio de clasificación y selección.

Para insertar un campo entre otros ya existentes en la planilla QBE basta arrastrar un campo
seleccionado, en la parte superior, para el campo que quedará a la derecha del campo insertado. Para
reordenar campos en la planilla QBE basta seleccionar y arrastrar para otra posición. Para eliminar
un campo, basta seleccionar y dar DEL. Para remover todos los campos de la planilla use la opción
Borrar cuadrícula del menú Edición.

El texto que identifica columnas, en la hoja de datos, es el nombre del campo. Muchas veces ese
nombre es largo y se desea substituirlo por otro. Para ello basta preceder al nombre del campo en la
planilla QBE con el nombre deseado seguido de dos punto. Ejemplo: Cargo: Código del cargo.
Mientras tanto, si la columna posee la propiedad leyenda esta tendrá prioridad.

Eventualmente si es necesario utilizar un campo en una consulta sin que haya necesidad de mostrarlo
en la hoja de datos, por ejemplo, cuando ese campo participa de la llave de clasificación. En este
caso basta desactivar la marca de Mostrar  correspondiente en la planilla QBE.

3.4. – Clasificación de los datos presentados.

Basta especificar el orden de clasificación (creciente o Decreciente) de los campos que hacen parte
de la llave de clasificación. Observar que el orden de los campos pasa a ser importante y,
eventualmente, es necesario reordenar las columnas en relación a su orden en la tabla original.

Nada impide que un campo de la tabla concurra dos o mas veces como campo en la planilla QBE.
Eventualmente esa puede ser una solución interesante para poder usar el campo en la llave de
clasificación (donde su posición es fija) desactivando su presentación en la línea Mostrar; la segunda
versión del campo es exhibida en la posición deseada por el usuario. El mismo efecto puede ser
utilizado en conjunto con campos de la planilla QBE oriundos de asterisco. Como no es posible usar
criterios de selección y clasificación para campos asterisco (*), basta incluir un duplicado de los
campos necesarios. Para esos campos duplicados son establecidos los criterios de clasificación y
selección concomitantemente con la desactivación de su presentación en la línea Mostrar de la
planilla QBE

3.5. – Grabar e imprimir consultas.

Para grabar la consulta, use las opciones Guardar y Guardar como o Exportar del menú Archivo.

Para imprimir la consulta debemos estar en la hoja de datos y accionar Vista preliminar para ver el
layout de la hoja a ser impresa. La opción Imprimir del menú Archivo realiza la impresión
permitiendo eventualmente imprimir apenas los registros seleccionados en la hoja de datos. Para eso,
basta elegir la opción Registro Seleccionados como Intervalo de Impresión.

3.6. – Criterios de Selección conteniendo un único campo.

Como criterio de selección en la planilla QBE podemos emplear diversos tipos de expresión
envolviendo diversos tipos de funciones internas. El resultado de algunos criterios ejemplos es
presentado a continuación. :

>520 todos los números mayores a 520

entre 520 y 1528 todos los números entre 520 y 528 inclusive

="Carlos Moreira" todos los exactamente iguales a

"S*" todos los iniciados con la letra S


"fe*eira" por ejemplo: ferreira, fereira, festeira

"sm?th" por ejemplo: smith, smyth

"* * *" nombres de tres palabras separadas por un blanco

*/*/93 todas las fechas del 93

negado como "S*" todos los nombres no iniciados por S

>=1-ene-92 y <=20-feb-93 todas las fechas del intervalo

"S*" o "R*" todos los iniciados por la letra S o R

nulo todos los registros con campo nulo

negado nulo todos los registros con valor en el campo

fecha() todos con la fecha actual

entre fecha() y fecha()-7 todos con fecha de la última semana

3.7. – Criterios de selección comprendiendo mas de un campo.

En este caso se emplean las líneas Criterio: , o: y líneas siguientes de la planilla QBE. Se debe
observar la siguiente regla para definir expresiones entre varios campos:

 Expresiones ligadas por y quedan en la misma línea


 Expresiones ligadas por o quedan en líneas diferentes.

Los ejemplos siguientes aclaran la cuestión.

a. seleccionar todos los ingenieros y que sean del departamento de finanzas:


b.

FIGURA 3.5 a.

c. todos los ingenieros o Empleados del departamento de finanzas:


FIGURA 3.5 b.

d. todos los ingenieros de nivel 2 del departamento de marketing o ingenieros nivel 2 con
nombres comenzados por la letra R.
FIGURA 3.5 c.

FIGURA 3.5 (a) (b) (c) Selecciones comprendiendo mas de un campo.

3.8. – Selección con valores únicos sin repetición.

Si el problema es el de exhibir los cargos constantes del PADRÓN DE EMPLEADOS. En


principio basta mostrar una consulta simple, incluyendo apenas el Código del cargo, conforme a la
figura 3.6.
FIGURA 3.6 Consultas sin y con valores exclusivos

Como se observa hay repetición de valores, pues todos los registros fueron seleccionados y apenas el
campo Código del cargo es presentado. Para listar sin repetición se debe indicar que la selección
debe omitir valores repetidos. Para ello se debe accionar en la pantalla de proyecto (modo Vista
diseño) el menú Ver opción Propiedades o picar en el botón correspondiente.

En la ventana de diálogo que aparece enseguida, activar la opción Valores únicos.

3.9 – Consultas con múltiples tablas.

Es común que los datos para una consulta se localicen en diversas tablas. Por ejemplo, la tabla
PADRÓN DE EMPLEADOS hace referencia al Código de cargo del funcionario, pero no
especifica su salario, pues en la empresa ejemplo, el salario es función apenas del cargo.

De esta forma, el salario correspondiente a cada cargo (Salario del cargo)consta solamente en la
tabla PADRÓN DE CARGOS Y SALARIOS.

Si deseamos hacer una consulta que presente el Nombre del empleado y su Salario (Salario del
cargo)será necesario la referencia a las dos tablas. Además de eso, es necesario informarle al sistema
cómo las informaciones se ligan entre las tablas, en este caso, la relación es a través del Código del
cargo que consta en las dos tabla. Esa relación es establecida en el modo diseño de la consulta
después de haber adicionado las dos tablas en la parte superior. Para hacer la relación, basta picar
sobre la línea Código del cargo en la tabla PADRÓN DE EMPLEADOS y arrastrar hasta que el
icono quede sobre la línea Código del cargo en la tabla PADRÓN DE CARGOS Y SALARIOS. Si
los campos comprendidos poseen el mismo nombre en las dos tablas entonces el Access intentará
establecer la relación automáticamente.

De la misma forma, en el caso en que ya hayan sido establecidas las relaciones entre las dos tablas
en la ventana relaciones, entonces al adicionar las tablas en la ventana de proyecto de consultas
automáticamente aparecerá la línea de relación entre los campos relacionados.

Finalmente especificamos en la planilla QBE cuales son los campos a incluir en la consulta.

 El Nombre del empleado


 El Salario del cargo
 El descuento del 8% sobre el salario.

El último campo es un campo computado cuya descripción se inicia con la palabra descuento
seguida de dos puntos. Esta será la leyenda de la columna. El cálculo efectuado envuelve la siguiente
expresión.

Cmoneda(IIf(Esnulo([salario del cargo]);0;[salario del cargo]*0,08))

Esta fórmula envuelve varias funciones internas del sistema. Inicialmente se debe observar qué
campos son los comprendidos en las expresiones; pues precisan estar entre corchetes, por esta razón
se debe escribir [salario del cargo].

La función IIf es una función del tipo IIf(x;y,z) donde x es un test e y y z son los resultados que la
función provee. Si el test da verdadero, entonces devuelve el resultado y, si el test da falso, entonces
devuelve z. En nuestro caso, es necesario testear el campo salario del cargo pues podemos tener
funcionarios sin cargo. De esta forma, es hecho un test para verificar si el campo tiene valor nulo.

Observar que al digitar IIf, el nombre de la función es automáticamente substituido por el nombre
SiInm. Observar también que el hecho de que el salario no exista es que está siendo testeado por la
función Esnulo y no que el valor del salario valga cero.

Si no existiera el salario entonces devuelve cero como descuento. Si el salario existe entonces él es
empleado para calcular 8% sobre él. Tanto un resultado como el otro acaban siendo alimentados en
al función Cmoneda que convierte ese resultado en formato interno para formato moneda y que es
finalmente presentado en la hoja de datos.

La fórmula para el cálculo de los descuentos fue digitada directamente en la columna QBE por lo
tanto, podría haber sido construida con el auxilio del botón Generar que acciona el Generador de
expresiones.
FIGURA 3.7 Consulta comprendiendo varia tablas
FIGURA 3.8 Hoja de datos de consulta comprendiendo varias tablas.

3.10. – Totalizaciones.

Es posible obtener totales en consultas. Podemos contar el número de ocurrencias de registros,


obtener sumas, promedio, mínimos, máximos, etc. Para obtener totales es necesario incrementar
una línea Total en la planilla QBE lo que es hecho por el botón sumatoria ? en la barra de
herramientas o menú Ver opción Totales.

En la línea Total para cada campo de la consulta deberá ser especificado el tipo de totalización
deseada. Por ejemplo, si el campo sirve apenas para contar registros, debemos elegir la opción
Contar. Si el campo tuviera que sumar, se selecciona Suma. Por otro lado, siempre habrá campos que
van a controlar el argumento de los registros, por ejemplo, si deseamos totales por departamentos, en
nuestro caso para el del Nombre del departamento, especificaremos Agrupar por.

Para obtener totales de subagrupamientos basta incluir en la secuencia correcta a los campos que dan
origen a los grupos y subgrupos indicando el orden de clasificación más conveniente.

El ejemplo de la figura 3.9 muestra la obtención del total de Empleados por cargo dentro de cada
departamento. Para cada entrada en esta consulta también es presentada la suma de los salarios.

En la figura 3.10 de la hoja de datos se observa que la columna con el total de los salarios posee
leyenda y está en formato moneda. Estas características fueron definidas seleccionando la columna
salario del cargo en la ventana de diseño de la consulta y accionando el botón propiedades en la
barra de herramientas. En la ventana Propiedades del campo fueron especificados: el formato
moneda, lugares decimales automáticas y titulo Suma (agregar en la tabla PADRÓN DE
EMPLEADOS algunos registros con el mismo cargo en el mismo departamento).

FIGURA 3.9 Consulta incluyendo totales.


FIGURA 3.10 Hoja de datos de consulta incluyendo varias tablas

3.11 – Tablas cruzadas.

Las totalizaciones vistas anteriormente también pueden ser obtenidas a través de consultas de
referencia cruzada. La figura 3.11 muestra la construcción de una consulta de este tipo en la ventana
Consulta de Tablas de Referencia Cruzada accionada por el botón correspondiente en la barra de
herramientas.

En este tipo de consulta se debe indicar cual es la información que caracteriza filas y columnas.

Esto es indicado en la fila Referencias cruzada: Encabezado de fila, Encabezado de columna o valor.
En el ejemplo, el campo número de empleado fue usado como valor para indicar la cuenta de los
empleados del departamento y cargo. Además de eso, es necesario indicar en la línea total cómo cada
campo debe ser computado. La sigla del departamento y el código del cargo son campos de
agrupamiento y el número de empleado indica simplemente un contador.
FIGURA 3.11 Estructura de la consulta de Referencia Cruzada
FIGURA 3.12 Hoja de Datos de la consulta de Referencia Cruzada

Cuando se crea una nueva consulta de re referencia cruzada por primera ves podría ser conveniente,
para una mejor comprensión del procedimiento de construcción de este tipo de consulta, la
utilización del asistente para consultas de referencias cruzadas.

3.12 - Propiedades de la Asociación.

Cuando se construye una relación entre dos tablas en una consulta es necesario especificar cual es el
tipo de asociación deseada. Esta cuestión puede ser observada en la consulta que relaciona para cada
departamento (PADRÓN DE DEPARTAMENTO) el nombre de su gerente (PADRÓN DE
EMPLEADO). La figura 3.13 muestra la estructura de esa consulta que envuelve dos tablas y una
asociación entre el Número de gerente y el Número de empleado (fue quitada la relación, general,
entre siglas del departamento). Vale la pena destacar que los dominios de los ambos campos
Número de gerente y Número de empleado son iguales.
FIGURA 3.13 Consulta para campos asociados iguales.

Al picar sobre la línea de asociación aparece la ventana Propiedades de Asociación, conforme a la


figura 3.14.
FIGURA 3.14 Ventana para definir el tipo de asociación.

En esa ventana está activa la primera opción, lo que indica que en la hoja de datos de la consulta solo
irán a aparecer las informaciones de campos de las dos tablas para registros donde el número del
gerente y el número del empleado fuesen iguales. La hoja de datos correspondiente aparece en la
figura 3.15.
FIGURA 3.15 Hoja de datos para asociación tipo 1

Por otro lado, si deseamos que aparezcan todos los departamentos igualmente aquellos que no
poseen gerente o cuyo número de gente por alguna razón no ocurra en el PADRÓN DE
EMPLEADOS, entonces debemos activar la opción que incluye todos los registros del PADRÓN
DE DEPARTAMENTOS. Observar que en este caso la línea de asociación se transforma en un
vector que va del PADRÓN DE DEPARTAMENTOS al PADRÓN DE EMPLEADOS. La hoja
de datos correspondiente aparece en al figura 3.16.
FIGURA 3.16 HOJA de datos para la asociación tipo 2.

Finalmente es posible relacionar todos los empleados del PADRÓN DE EMPLEADOS


acompañados de su eventual registro asociado en el PADRÓN DE DEPARTAMENTOS (en el
caso que sean gerentes). En este caso es necesario elegir la tercera opción en la ventana Propiedades
de Asociación. Observar que en esta caso la línea de asociación se transforma en un vector que va
del PADRÓN DE EMPLEADOS para el PADRÓN DE DEPARTAMENTOS. La hoja de datos
correspondiente aparece en la figura 3.17.
FIGURA 3.17 Hoja de datos para la asociación tipo 3

3.13 – Consultas con parámetros.

Podemos construir consultas cuyos criterios de selección pueden ser provistos cuando la consulta es
ejecutada. Por ejemplo, podemos pedir al usuario que provea la Sigla del departamento de los
empleados que desea listar en la pantalla. Para esto construimos una consulta normal de selección,
por ejemplo, a partir de la tabla PADRÓN DE EMPLEADOS y en la línea Criterio del campo
Sigla del departamento especificamos un mensaje entre corchetes: [Informar sigla del
departamento al listar]. Este mensaje es presentado a través de una ventana de información de
parámetro donde el usuario debe digitar la sigla deseada. Solo los registros con esta sigla serán
listados. La figura 3.18 muestra la estructura y la ventana de solicitud del parámetro.
FIGURA 3.18 Consulta con parámetro

You might also like