La consulta es una solicitud de información a la base de
datos. Los datos mostrados pueden proceder de una sola tabla o de un
conjunto de tablas. El resultado de la consulta es la "Hoja de respuestas
dinámica"; en esta hoja se encuentra la información extraída de las tablas.
Pero la información no se guarda en la hoja de respuestas, sino que sigue
estando almacenada en las tablas.
En determinados tipos de consulta se puede modificar la
información de las tablas, pero la consulta sigue siendo una forma de
acceder a la tabla, no un objeto que almacene información. La consulta
muestra lo que la tabla almacena según los criterios solicitados.
La consulta es un filtro avanzado, y funciona prácticamente
de la misma forma. Lo único que los diferencia es que los filtros sólo se
pueden activar desde una tabla o desde un formulario.
¿Qué puede hacer una
consulta?
Elegir tablas: las consultas
se pueden realizar sobre una sola tabla o sobre todas las tablas creadas en
esa base de datos. De esta forma las combinaciones posibles para obtener
información son muchas.
Modificar los datos de las tablas: aunque las consultas no son tablas, dan acceso a ellas, y permite
modificar, eliminar o añadir registros nuevos. También se puede utilizar una
consulta para crear una nueva tabla que contenga registros de otra tabla o
de varias tablas.
Elegir uno o varios campos: al crear una consulta es posible
especificar qué campo se desea ver.
Seleccionar registros: una
consulta se puede concretar hasta el punto de ver sólo un registro.
Realizar cálculos: se pueden realizar cálculos con los
campos mostrados en la consulta. Por ejemplo contar el número de registros
seleccionados o acumular totales. Se crearán campos nuevos: campos
calculados que contendrán el resultado del cálculo.
Para crear nuevos formularios, informes o consultas: partiendo de los datos obtenidos en una consulta se pueden crear
nuevos elementos.
Consulta de selección
Es la más sencilla, se indican unos criterios para ver sólo
lo que interesa de una tabla. Los datos aparecen en la Hoja de respuestas
dinámicas, esta parece una tabla pero no lo es, sólo muestra los datos de
una tabla o de varias tablas según los criterios de la consulta.
Aunque la hoja de respuestas dinámica no es una tabla se
pueden introducir datos en las tablas a través de ella.
Consulta de tablas de referencias cruzadas
Presenta los datos con títulos en las filas y en las
columnas; la apariencia es la de una hoja de cálculo. De esta forma se
resume en muy poco espacio mucha información de una forma muy clara.
Consulta de acciones
Es una forma de modificar registros de una o varias tablas a
través de una sola operación. A través de este tipo de consulta también se
puede crear una nueva tabla, eliminar o añadir registros, modificarlos...
Consulta de unión
Combina campos que coinciden en más de una tabla.
Consulta de paso a través
Envía instrucciones a una base de datos SQL.
Consulta de definición de datos
Se puede modificar una base de datos de Access utilizando
instrucciones de SQL.
Para crear una consulta hay que seleccionar la pestaña
de la
ventana de la base de datos. Si no se está en la ventana Base de datos, para
volver a ella se pulsa el botón base de datos
. En la ventana
Consultas puede aparecer algún elemento creado si se ha guardado algún
filtro:
En este ejemplo se va a elegir la tabla Pacientes. Tras
seleccionar la tabla se pulsa Agregar. Se
pueden seleccionar más tablas, e incluso consultas. Una vez se hayan elegido
los elementos sobre los que se quiera realizar la consulta se pulsa Cerrar.
Si tras cerrar se quiere volver a abrir la ventana de
agregar Tablas se pulsa el botón
o
se selecciona el menú Consulta|Mostrar Tabla.
El aspecto de la ventana de una consulta es este:
Al igual que en los filtros, la ventana se divide en dos
secciones:
La superior: muestra los elementos sobre los que se va a
realizar la consulta.
La inferior: muestra los criterios que se van a aplicar en
la consulta a la tabla o consulta seleccionada.
El proceso de creación de los criterios es muy similar al de
los filtros.
En las consultas hay un elemento más, que da la opción de que
un criterio de selección se vea o no. Esta opción es Mostrar.
Campo
En esta casilla se pueden seleccionar todos los campos de la
tabla ( con el *) o de uno en uno, seleccionando cada uno en una columna.
La forma de incluir el nombre de un campo en esta casilla es
:
1. Arrastrando el nombre del campo desde la sección
superior.
2. Haciendo doble clic en la tabla de la sección superior
3. Haciendo clic sobre la casilla campo y pulsando sobre la
flecha que aparece. Se desplegará un lista de los campos para seleccionar.
Tabla
En esta casilla figura la tabla de la que procede el campo
seleccionado en esa columna. Esta opción es muy importante cuando se trabaja
con campos de varias tablas.
Orden
Ascendente, descendente o sin orden. Este orden se aplicará
a los registros que se obtengan en la consulta según la columna en la que se
esté indicando el orden. El criterio se establece en un campo y se ordenan
los resultados en función del campo que se quiera.
Para seleccionar el tipo de orden que se quiere se hace clic
sobre la casilla Orden, aparecerá una flecha en la zona derecha de la
casilla. Al pinchar sobre la flecha aparece un menú con los tipos de orden
aplicables a la consulta.
Mostrar
Esta casilla tiene un pequeño cuadrado, al hacer clic dentro
de este cuadrado se está indicando al programa que se muestre ese campo.
Esto tiene sentido cuando se quiere indicar un criterio más para restringir
la búsqueda, pero no se quiere mostrar en el resultado de la búsqueda. Si la
casilla esta activada este
criterio aparecerá. Si no está activada pueda pero no será visible en la tabla
dinámica.
Criterios
En esta casilla se introduce la condición/es que debe
cumplir un campo para que el registro aparezca en la respuesta a la
consulta.
Cuando se ejecuta la consulta, el programa analiza la
expresión de la casilla criterios. Dentro del campo se buscan todos los
valores que coincidan con el criterio. Los criterios pueden introducirse en
uno o más campos de una consulta. O incluso introducir varios criterios en
un mismo campo.
No es necesario rellenar todas las casillas en cada columna.
Todo depende de lo que se quiera pedir al programa.
Una forma más sencilla de ver una búsqueda es un ejemplo.
Con la tabla de Pacientes se va a realizar el siguiente ejemplo: Buscar los
pacientes que vivan en Madrid.
En este ejemplo sólo se establece un criterio en un campo:
"Provincia", y el criterio "Madrid". De todos aquellos registros en los
cuales el campo Provincia sea Madrid se le pide que muestre: el nombre y el
apellido de los pacientes, además del criterio, que no está oculto. Si no se
le añaden más campos no mostrará más datos del registro que cumple el
criterio.
Para ejecutar la consulta se pulsa el botón o se selecciona el menú Consulta|Ejecutar.
El programa devolverá el o los registros que cumplan con ese
criterio, si es que los hay. Para mostrar los resultados se abrirá la Hoja
de respuesta dinámica en la Vista Diseño. En esta hoja aparecerán únicamente
los datos solicitados en la Consulta.
Para modificar los criterios de una consulta se cambia a la
Vista Diseño. Si se quiere que se muestren todos los datos de los pacientes
procedentes de Madrid habrá que hacerlo de la siguiente forma.
Se ha establecido el criterio Madrid en el campo Provincia.
A continuación en lugar de detallar cada campo en una columna se han
seleccionado todos los campos en una sola celda con el asterisco. Se ha
ocultado el criterio, pero se muestran todos los campos de la Tabla
Pacientes. Se ejecuta la consulta pulsando
es resultado será este:
Establecer criterios
Dentro de la casilla criterio se escribe una expresión, bien
de texto, numérica o numérica con operadores. Si no se incluye ningún
operador con la expresión (texto o número) el programa actúa como si el
operador fuera "=", y sólo habrá resultado en la búsqueda si existe un
registro idéntico a la expresión del criterio.
Gracias a los operadores, además de palabras, se pueden
imponer otro tipo de condiciones a las búsquedas dentro de los registros.
Rangos de valores
Para buscar un rango de valores dentro de un campo se
utilizan estos operadores:
Entre...Y: por ejemplo para
seleccionar los pacientes mayores de 18 años pero menores de 50. En la
casilla Criterios se escribira: Entre 18 Y 50.
<,>,>=,<=,<>: operadores de comparación.
Lista de valores
Se puede poner más de un criterio, especificando cada uno de
ellos. La redacción de esta expresión deberá ser de la siguiente forma: el
operador En seguido de una lista de valores entre
paréntesis, separando los valores con el punto y coma. Por ejemplo para
seleccionar todos los pacientes de tres provincias, en el campo Provincia se
utilizaría este criterio:
En ("Madrid";"Aragón"; "País Vasco")
De esta forma el programa seleccionará todos aquellos
registros que en el campo provincia tengan uno de estos tres valores.
Varios criterios
En diferentes campos: criterio Y: cuando se escriben varios
criterios en el mismo renglón el programa buscará un registro que cumpla
todos los criterios.
El criterio Y se puede utilizar en un mismo campo: >80 Y
<100
En un mismo campo: criterio O: cuando se pone un criterio en la casilla
"Criterio", otro en la casilla o,
y si se quiere más criterios en las filas de debajo. El programa buscará un
registro que cumpla al menos uno de los criterios.
Este criterio también se puede utilizar en distintos campos:
Seleccionará los registros que o el campo provincia sea
Madrid, o bien el campo edad sea mayor de 18.
Los comodines
Se utilizan para buscar datos genéricos, que empiezan por
una letra, que terminan por otra...
* representa cualquier número de
caracteres, por ejemplo: todos los nombres que terminen por "ez: *ez. Otro
ejemplo: buscar las personas que tienen un nombre compuesto y uno de los dos
nombres es "Luis". Se debe escribir el siguiente criterio: Como *Luis* o
Como * + Luis + *. Access agregará las comillas.
? representa un solo carácter, por ejemplo
Jimenez/Gimenez: ?imenez.
# representa cualquier dígito en la posición especificada. Por ejemplo:
12#45,el programa buscará un registro en el cual los dos primeros dígitos
sean 12 y los dos últimos 45.
Al introducir una expresión con uno de estos tres
operadores, Access añadirá automáticamente el operador "Como".
8.5.5. Selección de registros con datos o sin datos
Se puede seleccionar un registro por el criterio de si en el
campo hay un dato, o si está vacio.
Porque contiene algún dato: Es Negado Nulo
Pacientes que tienen teléfono:
Porque no contiene ningún dato: vacío: Nulo o es Nulo
Pacientes que no tienen teléfono:
Fecha actual
Se pueden seleccionar los registros que tengan la fecha
actual. Por ejemplo en una empresa para seleccionar los pedidos que haya que
entregar ese día.
En criterios se escribe Fecha()
Condición variable
Para hacer una condición variable; que realice una pregunta
cada vez que se abra o ejecute la consulta, se coloca la pregunta entre
corchetes [ ] debajo del campo que se desea variar. (ver consultas con
parámetros).
Criterios con cálculo
Dentro de un criterio se puede realizar un cálculo haciendo
referencia a otro campo. Por ejemplo en la base de datos de una empresa de
venta de material de construcción se va a consultar:
Se pide que liste a aquellos clientes cuyo Importe sea mayor
a la cantidad por 10.
Se ha creado el campo importe ya que no existía, que es un
campo calculado (apartado 8.7). Los campos van siempre entre corchetes.
Dentro del criterio se ha realizado una operación y en
función del resultado se han seleccionado o no los registros.
Guardar las consultas
Siempre es recomendable que se prueben varias veces las
consultas para asegurarse que el resultado es el esperado.
Una vez se comprueba que el resultado es el que se esperaba,
hay que pensar en guardar o no la consulta. Todo depende de la frecuencia
con la que se vaya a usar esa consulta. Si se va a usar más veces es
conveniente guardarla para no tener que rediseñarla la próxima vez.
La consulta se puede guardar desde la vista Diseño o la
vista Hoja de datos. Se selecciona el botón guardar o el menú Archivo|Guardar.
Campos calculados
Se puede crear un campo que realice una operación con varios campos de una
misma tabla.
En el ejemplo de le empresa de venta de materiales de
construcción se ha creado el campo calculado "Importe".
Pasos para crear un campo calculado:
1. Se selecciona una columna en blanco, se escribe el nombre
del nuevo campo seguido de dos puntos. "Importe:"
2. Se escribe la operación, cuando se hace referencia a un
campo este debe ir entre corchetes [ ].
"Importe: [Cantidad] *[Precio Unidad]
Si sólo se va a operar con un campo, se puede seleccionar el campo de la
lista de campos y al añadir un símbolo de operación: /*-+ el programa
añadirá el corchete al campo y pondrá un nombre al nuevo campo. El nombre
será Expr, Expr1...
Crear consultas con
asistentes
Asistente para consultas sencillas
El Asistente para consultas sencillas crea consultas que
recuperan datos de los campos especificados en una tabla o consulta, o en
varias tablas o consultas.
Si se desea, el asistente también puede sumar, contar y
obtener el promedio de los valores de grupos de registros o de todos los
registros y puede calcular el valor mínimo o máximo de un campo. No
obstante, no es posible limitar los registros recuperados mediante el
establecimiento de criterios.
Asistente para consultas de referencias cruzadas
Una consulta de tabla de referencias cruzadas calcula
totales resumidos basándose en los valores de cada fila y columna. Calcula
una suma, una media, un recuento u otros tipos de totales de los registros y
luego agrupa el resultado en dos tipos de información: uno hacia abajo, en
el lado izquierdo de la hoja de datos y otro a lo largo de la parte
superior.
Asistente para consultas de buscar duplicados
Con este asistente se puede determinar si existen registros
duplicados en una tabla o determinar qué registros de una tabla comparten el
mismo valor. Por ejemplo, se pueden buscar valores duplicados en un campo de
dirección para determinar si existen registros duplicados para el mismo
paciente.
También se pueden buscar valores duplicados en un campo de
población para todos los pacientes de una misma ciudad.
Puede ser una herramienta útil si se han importado datos
desde otra base de datos, ya que permite depurarlos.
Asistente para buscar registros no coincidentes
Mediante este Asistente se pueden buscar registros en una
tabla que no tenga registros relacionados en otra tabla. Por ejemplo, puede
buscar pacientes que no hayan realizado ninguna visita.
También es útil si se han importado datos desde otra base de
datos, ya que permite depurarlos.
Consultas con parámetros
Se recurre a ellas cuando se quiere hacer una consulta que
permita pedir un dato antes de ejecutarla y buscar según ese dato.
Una consulta que tiene uno o varios parámetros necesitará
que éstos se indiquen para buscar datos en la tabla.
Por ejemplo, para realizar una consulta sobre los nombres de
los médicos que trabajan en un determinado departamento de un hospital, se
tendrá que hacer una consulta por especialidad utilizando el procedimiento
habitual. Si se utiliza una consulta diseñada con parámetros se podrá decir
qué especialidad se busca cada vez que se ejecute una nueva consulta.
El proceso es muy parecido al de una consulta normal. Se
selecciona la tabla, se seleccionan los campos y los criterios. En este caso
se va a utilizar la tabla de médicos.
Después de crear una consulta normal se selecciona el menú Consulta|Parámetros. Se
abrirá esta ventana:
Se crean los parámetros deseados, cada parámetro tiene un
nombre y un tipo de datos. El nombre no puede ser igual al nombre de un
campo de la tabla y el tipo de datos debe corresponder con el tipo de datos
del campo por el que se va a buscar.
En el campo por el que se va a buscar hay que añadir el
criterio. En este caso el criterio es el nombre del parámetro entre
corchetes:
Cuando se ejecute la consulta aparecerá una ventana que pide
el valor del parámetro.
Dentro del recuadro en blanco se escribe la especialidad
sobre la que se desea obtener la lista de médicos que trabajan allí. Después
se pulsa Aceptar. Esta será la hoja de respuestas dinámica:
Consultas basadas en más de
una tabla
Se crean de la misma forma que las anteriores, sólo que a la
hora de agregar tablas se puede agregar más de una. De esta manera es
posible reflejar las relaciones entre las tablas, y recuperar los registros
relacionados de las dos tablas.
De cada tabla se seleccionan los campos que se necesitan,
arrastrándolos y pegándolos en las celdas de la consulta. Se agregan los
criterios que se crean convenientes, de la misma manera que en las consultas
basadas en una sola tabla.
Consultas avanzadas
Hasta ahora la consulta que se ha visto ha sido la consulta
de selección, una consulta muy sencilla. Para seleccionar otro tipo de
consulta más compleja se debe seleccionar el botón tipo de consulta:
Consulta de creación de tabla
Este tipo de consulta puede ser usada cuando se quiera crear
una tabla nueva a partir de registros provenientes de ejecutar una consulta.
La nueva tabla no heredará las propiedades de los campos, ni la clave
principal que tuviera la tabla origen.
Consulta de actualización
Este tipo de consultas pueden ser usadas cuando se quiera
actualizar varios registros de una tabla, de una sola vez. Se pueden ver los
registros a actualizar antes de ejecutar la consulta y que sean modificados
permanentemente.
Consulta de datos anexados
Este tipo de consultas pueden ser usadas cuando se quiera
añadir registros a una tabla de otra que ya contenga algunos. Entonces, se
podrán agregar datos que estaban en otra tabla de Access o bien en otros
formatos de Tabla, como pueden ser DBase, Paradox.
Consulta de eliminación
Este tipo de consultas pueden ser usadas cuando se quiera
eliminar varios registros de una tabla que cumplan determinados criterios.
Es posible ver los registros que van a ser eliminados antes de ejecutar la
consulta.