lunes, 6 de agosto de 2012

Consultas con criterios I

Anteriormente, hemos visto la forma más básica de consulta que podemos crear en Access, y ahora vamos a avanzar hacia el siguiente nivel, en el que aplicaremos distintos filtros o criterios para afinar más el resultado a conseguir.

Para la explicación seguiremos empleando la base de datos librería.mdb que, como es habitual, puedes descargar haciendo clic en el nombre de la misma, y cuyo esquema de relaciones recordamos:

Relaciones de la base de datos de muestra

Los criterios nos permitirán crear, por ejemplo, una consulta que muestre sólo los Clientes de Sevilla, o las Novelas de Eduardo Mendoza, o los Libros que cuesten menos de 30 euros… Para ello podremos emplear distintos operadores, entre los que puedes encontrar los siguientes a modo de guía:

Criterios disponibles para consultas en Access

Criterios para texto

Suponiendo, como acabamos de comentar que deseamos consultar los datos básicos de los Clientes de Sevilla, comenzamos el proceso de creación partiendo desde cero, añadiendo las tablas Clientes y Ciudades. A continuación trasladamos a la cuadrícula inferior los campos nif, nombre de Clientes, apellidos, teléfono y nombre de Ciudades.

Ahora que tenemos la base dispuesta, es el momento de especificar la condición; para ello, en la fila Criterios del campo nombre de Ciudades, escribiremos el valor correspondiente, que en nuestro caso será Sevilla. Para emplear valores específicos no es necesario utilizar el operador Como o Like; yo tengo la costumbre de pulsar la tecla Tab después de escribir el criterio, y si lo has hecho bien, comprobarás que Access incluirá comillas, almohadillas, mayúsculas… o cambiará el idioma automáticamente.


Si ejecutamos la consulta, el resultado será el siguiente, donde puedes ver que también aparece el nombre de la provincia; pero si no desearas ver los valores repetidos, con sólo desmarcar la casilla de verificación situada justo encima del criterio.


Si quisiéramos ver los Clientes de Sevilla o Cádiz, tenemos varias alternativas a nuestra disposición, que vamos a comentar para que veas las posibilidades que Access nos ofrece. Podemos comenzar, añadiendo en la vista diseño Cádiz debajo de Sevilla, en la fila denominada o, con lo que ahora tendremos 4 registros como consecuencia de la ejecución.

El mismo resultado obtendremos si especificamos cualquiera de estos criterios:
  • "sevilla" O "cádiz"
  • "sevilla" OR "cádiz"
  • In ("sevilla";"cádiz")

Si ahora nos interesara ver todos los clientes de fuera de Sevilla, podríamos emplear cualquiera de estas condiciones:
  • No “sevilla”
  • Not “sevilla”
  • <> “sevilla”


Carácter comodín

En las condiciones relacionadas con campos de tipo texto puede resultar muy interesante aprovechar las oportunidades que nos brinda el carácter comodín * y que se utiliza para sustituir cualquier grupo de caracteres. Mira estos ejemplos y su significado, suponiendo que escribimos el criterio para el campo nombre del cliente:
  • *a – Cualquier nombre que termine en A
  • m* - Cualquier nombre que comience por M
  • *ar* - Cualquier nombre que contenga seguidas las letras AR, sea cual sea su posición


Campos vacíos o llenos

En ocasiones también puede resultar interesante preguntar por campos que estén en blanco. Por ejemplo,  supongamos que quiero comprobar qué clientes no nos han dado su dirección de correo electrónico. Entonces, como criterio del campo email, escribiremos una de estas dos opciones:
  • Es nulo
  • Is null
Y al contrario, si nos interesa detectar aquellos clientes que SI tienen correo electrónico, para enviarles una oferta pongamos por caso, la condición a escribir podrá ser:
  • Es no nulo
  • Is not null


En próximos posts veremos cómo aplicar criterios a campos numéricos o de tipo fecha.


No hay comentarios:

Publicar un comentario