Vous êtes sur la page 1sur 12

Un criterio de consulta es una regla para identificar los registros que se desea incluir en el resultado de una consulta.

No todas las consultas deben incluir criterios, pero si no le interesa ver todos los registros que estn almacenados en el origen de registros subyacente, deber agregar criterios a una consulta cuando la disee. Este tema contiene varios ejemplos de criterios de consulta. En el tema, se supone que ya sabe disear consultas de seleccin sencillas.

Introduccin a los criterios de consulta


Un criterio es similar a una frmula (es una cadena que puede consistir en referencias de campos, operadores y constantes). Los criterios de consulta tambin se conocen como expresiones en Microsoft Office Access 2007. En las tablas siguientes, se muestran algunos ejemplos de criterios y se explica su funcionamiento.

CRITERIOS
>25 y <50

DESCRIPCIN
Este criterio se aplica a campos Nmero, como Precio o UnidadesEnStock. El resultado incluye solamente aquellos registros en los que el campo Precio o UnidadesEnStock contiene un valor mayor que 25 y menor que 50.

DifFecha("aaaa", Este criterio se aplica a campos Fecha/Hora, como FechaNacimiento. En el resultado de la consulta, slo [FechaNacimiento], Fecha()) > se incluyen los registros en los que el nmero de aos entre la fecha de nacimiento de una persona y la fecha actual es mayor que 30. 30 Es Nulo Este criterio se puede aplicar a cualquier tipo de campo para que se muestren los registros en los que el valor de campo sea nulo.

Como ve, los criterios pueden ser muy distintos unos de otros, dependiendo del tipo de datos del campo en el que se apliquen y de los requisitos especficos en cada caso. Algunos criterios son sencillos y usan operadores bsicos y constantes. Otros son complejos y usan funciones y operadores especiales, e incluyen referencias de campo. Este tema contiene varios criterios usados comnmente, organizados por tipo de datos. Si los ejemplos que se presentan en este tema no se pueden aplicar a sus necesidades especficas, es posible que tenga que escribir sus propios criterios. Para ello, debe familiarizarse con la lista completa de funciones, operadores y caracteres especiales y con la sintaxis para expresiones para hacer referencia a campos y literales.. Aqu ver dnde y cmo se agregan los criterios. Para agregar un criterio a una consulta, debe abrirla en la vista Diseo. Despus, identifique los campos para los que desea especificar criterios. Si el campo no est an en la cuadrcula de diseo, agrguelo arrastrndolo desde la ventana de diseo de la consulta hasta la cuadrcula, o bien, haciendo doble clic en el campo (De este modo, se agrega automticamente a la siguiente columna vaca de la cuadrcula.). Por ltimo, escriba los criterios en la fila Criterios. Los criterios que especifique para los distintos campos en la fila Criterios se combinan mediante el operador Y. Dicho de otro modo, los criterios especificados en los campos Ciudad y FechaNacimiento se interpretan as: Ciudad = "Chicago" Y FechaNacimiento<AgregFecha("aaaa", -40, Fecha())

Los campos Ciudad y FechaNacimiento incluyen criterios. Slo los registros cuyo valor para el campo Ciudad sea Chicago se ajustarn al criterio. Slo los registros que tengan como mnimo 40 aos de antigedad se ajustarn al criterio. Slo los registros que cumplan los dos criterios se incluirn en los resultados.

Y si slo desea que se cumpla una de estas condiciones? Es decir, si tiene criterios alternativos, cmo lo expresa? Si tiene criterios alternativos, o dos conjuntos de criterios independientes donde basta con que se cumpla un conjunto, use las filas Criterios y o en la cuadrcula de diseo.

El criterio Ciudad se especifica en la fila Criterios. El criterio FechaNacimiento se especifica en la fila O.

Los criterios especificados en las filas Criterios y o se combinan utilizando el operador O, como se muestra a continuacin: Ciudad = "Chicago" O FechaNacimiento<AgregFecha("aaaa", -40, Fecha())

Si necesita especificar ms alternativas, use las filas situadas debajo de la fila o. Antes de continuar con los ejemplos, tenga en cuenta lo siguiente:

Si los criterios son temporales o cambian a menudo, puede filtrar el resultado de la consulta en lugar de estar modificando continuamente los criterios. Un filtro es un criterio temporal que cambia el resultado de la consulta sin modificar el diseo de sta. Si los campos de criterios no cambian pero los valores que le interesan s cambian con frecuencia, puede crear una consulta de parmetros. Una consulta de parmetros solicita al usuario valores de campos y luego utiliza estos valores para crear los criterios de consulta.

Criterios para campos Texto, Memo e Hipervnculo


Los ejemplos siguientes son para el campo PasRegin de una consulta basada en una tabla donde se almacenan datos de contacto. El criterio se especifica en la fila Criterios del campo en la cuadrcula de diseo.

Un criterio que se especifique para un campo Hipervnculo se aplica, de forma predeterminada, a la parte de texto visible del valor del campo. Para especificar los criterios para la parte correspondiente al Localizador uniforme de recursos (URL) del valor, use la expresin ParteDeHipervnculo. La sintaxis de esta expresin es la siguiente: ParteDeHipervnculo([Tabla1].[Campo1],1) = "http://www.microsoft.com/spain", donde Tabla1 es el nombre de la tabla que contiene el campo de hipervnculo, Campo1 es el campo de hipervnculo y http://www.microsoft.com/spain es la direccin URL con la que se desea coincidir.

PARA INCLUIR REGISTROS QUE...

USE ESTE CRITERIO

RESULTADO DE LA CONSULTA

Coincidan exactamente con "China" un valor, como China No coincidan con un valor, como Mxico Empiecen por la cadena especificada, como U No "Mxico"

Devuelve los registros en los que el campo PasRegin tiene el valor China.

Devuelve los registros en los que el campo PasRegin tiene un valor distinto de Mxico. Devuelve los registros correspondientes a todos los pases o regiones cuyos nombres empiezan por "U", como Uruguay, Uganda, etc. NOTA Cuando se utiliza en una expresin, el asterisco (*) representa cualquier cadena de caracteres (tambin se le denomina "carcter comodn"). Devuelve los registros correspondientes a todos los pases o regiones cuyos nombres empiezan por un carcter distinto de "U". Devuelve los registros correspondientes a todos los pases o regiones que contienen la cadena "Corea". Devuelve los registros correspondientes a todos los pases o regiones que no contienen la cadena "Corea".

Como U*

No empiecen por la cadena No como U* especificada, como U Contengan la cadena Como "*Corea*" especificada, como Corea No contengan la cadena No como "*Corea*" especificada, como Corea

Acaben con la cadena especificada, como "ina" No acaben con la cadena especificada, como "ina" Contengan valores nulos (o que falten) No contengan valores nulos Contengan cadenas de longitud cero No contengan cadenas de longitud cero Contengan valores nulos o cadenas de longitud cero. Ni vaco ni en blanco Vayan a continuacin de un valor, como Mxico, si se ordenan alfabticamente Estn incluidos en un intervalo especfico, como de la A hasta la D Coincidan con uno de dos valores, tales como Estados Unidos o Reino Unido Contengan uno de los valores de una lista Contengan ciertos caracteres en una posicin especfica en el valor del campo Satisfagan requisitos de longitud Coincidan con un modelo especfico

Como "*ina" No como "*ina" Es Nulo No es Nulo "" (un par de comillas)

Devuelve los registros correspondientes a todos los pases o regiones cuyos nombres acaban con "ina" como China y Argentina. Devuelve los registros correspondientes a todos los pases o regiones cuyos nombres no acaban con "ina", como China y Argentina. Devuelve los registros en los que no hay ningn valor en el campo. Devuelve los registros en los que no falta el valor del campo. Devuelve los registros en los que el campo tiene un valor en blanco (pero no nulo). Por ejemplo, los registros de ventas realizada a otro departamento podran contener un valor en blanco en el campo PasRegin. Devuelve los registros en los que el campo PasRegin no tiene un valor en blanco. Devuelve los registros donde no hay ningn valor en el campo, o bien, el campo tiene un valor en blanco. Devuelve los registros en los que el campo PasRegin tiene un valor no en blanco y no nulo. Devuelve los registros de todos los pases o regiones a partir de Mxico y posteriores por orden alfabtico. Devuelve los registros correspondientes a los pases o regiones cuyos nombres empiezan por las letras "A" a la "D". Devuelve los registros correspondientes a Estados Unidos y Reino Unido.

No "" "" O Es Nulo No es Nulo Y Sin "" >= "Mxico"

Como "[A-D]*"

"Estados Unidos" O "Reino Unido"

En("Francia", "China", Devuelve los registros correspondientes a todos los pases o regiones "Alemania", "Japn") especificados en la lista. Der([PasRegin], 1) = "y" Devuelve los registros correspondientes a todos los pases o regiones cuyo nombre acaba con la letra "y".

Longitud([PasRegin]) > Devuelve los registros correspondientes a los pases o regiones cuyo nombre 10 tiene ms de 10 caracteres. Como "Chi??" Devuelve los registros correspondientes a los pases o regiones cuyos nombres tienen cinco caracteres de longitud y los tres primeros caracteres son "Chi", como China y Chile. NOTA Los caracteres ? y _, cuando se usan en una expresin, representan un solo carcter (tambin se les denomina "caracteres comodn"). El carcter _ no se puede usar en la misma expresin junto con el carcter ? ni con el carcter comodn *. El carcter comodn _ se puede usar en una expresin que tambin contiene el carcter comodn %.

Criterios para campos Nmero, Moneda y Autonumrico


Los ejemplos siguientes son para el campo PrecioUnidad de una consulta basada en una tabla donde se almacena informacin de productos. El criterio se especifica en la fila Criterios del campo en la cuadrcula de diseo de la consulta.

PARA INCLUIR REGISTROS QUE...


Coincidan exactamente con un valor, como 100

USE ESTE CRITERIO


100

RESULTADO DE LA CONSULTA

Devuelve los registros en los que el precio por unidad del producto es 100 $.

No coincidan con un valor, No 1000 como 1000 Contengan un valor menor que otro valor, como 100 < 100 <= 100

Devuelve los registros en los que el precio por unidad del producto no es 1000 $.

Devuelve los registros en los que el precio por unidad es menor que 100 $ (<100). La segunda expresin (<=100) muestra los registros en los que el precio por unidad es menor o igual que 100 $. Devuelve los registros en los que el precio por unidad es mayor que 99,99 $ (>99,99). La segunda expresin muestra los registros en los que el precio por unidad es mayor o igual que 99,99 $. Devuelve los registros en los que el precio por unidad es 20 $ 25 $.

Contengan un valor mayor >99,99 que otro valor, como >=99,99 99,99 Contengan uno de entre 20 o 25 dos valores, como 20 25 Contengan un valor que est incluido en un intervalo

>49,99 Y <99,99 Devuelve los registros en los que el precio por unidad est entre (pero sin incluir) 49,99 $ y O bien, 99,99 $. Entre 50 Y 100 Devuelve los registros en los que el precio por unidad no est entre 50 $ y 100 $.

Contengan un valor que <50 O >100 est fuera de un intervalo Contengan uno entre varios valores Contengan un valor que acabe con los dgitos especificados En(20, 25, 30)

Devuelve los registros en los que el precio por unidad es 20 $, 25 $ 30 $.

Como "*4,99"

Devuelve los registros en los que el precio por unidad acaba con "4,99", como 4,99 $, 14,99 $, 24,99 $, etc. NOTA Los caracteres * y %, cuando se usan en una expresin, representan cualquier nmero de caracteres, que tambin se denominan "caracteres comodn". El carcter % no se puede usar en la misma expresin junto con el carcter * ni con el carcter comodn ?. El carcter comodn % se puede usar en una expresin que tambin contiene el carcter comodn _.

Contengan valores nulos Es Nulo (o que falten) Contengan valores no No es Nulo nulos

Devuelve los registros en los que no se ha especificado ningn valor en el campo PrecioUnidad. Devuelve los registros en los que no falta el valor del campo PrecioUnidad.

Criterios para campos Fecha/Hora


Los ejemplos siguientes son para el campo FechaPedido de una consulta basada en una tabla donde se almacena informacin de pedidos. El criterio se especifica en la fila Criterios del campo en la cuadrcula de diseo de la consulta.

PARA INCLUIR REGISTROS QUE...


Coincidan exactamente con un valor, como 2/2/2006

USE ESTE CRITERIO

RESULTADO DE LA CONSULTA

#2/2/2006#

Devuelve los registros de las transacciones que tuvieron lugar el 2 de febrero de 2006. No olvide rodear los valores de fechas con el carcter #, para que Access pueda distinguir entre fechas y cadenas de texto. Devuelve los registros de las transacciones que tuvieron lugar en una fecha distinta al 3 de febrero de 2006. Devuelve los registros de las transacciones que tuvieron lugar antes del 2 de febrero de 2006. Para ver las transacciones que tuvieron lugar en esa fecha o antes, use el operador <= en lugar de <. Devuelve los registros de las transacciones que tuvieron lugar despus del 2 de febrero de 2006. Para ver las transacciones que tuvieron lugar en esa fecha o despus, use el operador >= en lugar de >. Devuelve los registros de las transacciones que tuvieron lugar entre el 2 de febrero de 2006 y el 4 de febrero de 2006. Tambin puede usar el operador Entre para filtrar segn un intervalo de valores. Por

No coincidan con un valor, como No #2/2/2006# 2/2/2006

Contengan valores anteriores a < #2/2/2006# una fecha determinada, como el 2/2/2006

Contengan valores posteriores a > #2/2/2006# una fecha determinada, como el 2/2/2006

Contengan valores que estn >#2/2/2006# Y <#4/2/2006# dentro de un intervalo de fechas

Contengan valores que estn fuera de un intervalo

<#2/2/2006# O >#4/2/2006#

Contengan uno de dos valores, #2/2/2006# O #3/2/2006# como 2/2/2006 o 3/2/2006 Contengan uno entre varios valores Contengan una fecha que sea de un mes especfico (independientemente del ao), como diciembre Contengan una fecha que sea de un trimestre especfico (independientemente del ao), como el primer trimestre Contengan la fecha en curso En (#1/2/2006#, #1/3/2006#, #1/4/2006#)

ParcFecha("m", [FechaVenta]) = 12

ejemplo, Entre #2/2/2006# Y #4/2/2006# es lo mismo que >#2/2/2006# Y <#2/4/2006#. Devuelve los registros de las transacciones que tuvieron lugar antes del 2 de febrero de 2006 o despus del 4 de febrero de 2006. Devuelve los registros de las transacciones que tuvieron lugar el 2 de febrero de 2006 o el 3 de febrero de 2006. Devuelve los registros de las transacciones que tuvieron lugar el 1 de febrero de 2006, el 1 de marzo de 2006 o el 1 de abril de 2006. Devuelve los registros de las transacciones que tuvieron lugar en diciembre de cualquier ao. Devuelve los registros de las transacciones que tuvieron lugar en el primer trimestre de cualquier ao.

ParcFecha("t", [FechaVenta]) = 1

Fecha()

Contengan la fecha de ayer

Contengan la fecha de maana

Contengan fechas que sean de la semana en curso

Contengan fechas que sean de la semana anterior

Contengan fechas que sean de la semana prxima

Contengan fechas que sean de los 7 ltimos das

Contengan una fecha que sea del mes en curso

Contengan una fecha que sea del mes anterior Contengan una fecha que sea del mes prximo Contengan fechas que sean de los 30 31 ltimos das

Contengan una fecha que sea del trimestre en curso

Devuelve los registros de las transacciones que tuvieron lugar en la fecha en curso. Si hoy es el 2/2/2006, ver los registros en los que el campo FechaPedido tiene el valor 2 de febrero de 2006. Fecha()-1 Devuelve los registros de las transacciones que tuvieron lugar en el da anterior a la fecha en curso. Si hoy es el 2/2/2006, ver los registros correspondientes al 1 de febrero de 2006. Fecha() + 1 Devuelve los registros de las transacciones que tendrn lugar en el da posterior a la fecha en curso. Si hoy es el 2/2/2006, ver los registros correspondientes al 3 de febrero de 2006. ParcFecha("ss", [FechaVenta]) = ParcFecha("ss", Fecha()) Devuelve los registros de las transacciones Y Ao( [FechaVenta]) = Ao(Fecha()) que tuvieron lugar durante la semana en curso. Una semana empieza en domingo y termina en sbado. Ao([FechaVenta])* 53 + ParcFecha("ss", [FechaVenta]) = Devuelve los registros de las transacciones Ao(Fecha())* 53 + ParcFecha("ss", Fecha()) - 1 que tuvieron lugar durante la semana pasada. Una semana empieza en domingo y termina en sbado. Ao([FechaVenta])* 53+ParcFecha("ss", [FechaVenta]) = Devuelve los registros de las transacciones Ao(Fecha())* 53+ParcFecha("ss", Fecha()) + 1 que tendrn lugar la semana prxima. Una semana empieza en domingo y termina en sbado. Entre Fecha() Y Fecha()-6 Devuelve los registros de las transacciones que tuvieron lugar durante los 7 ltimos das. Si hoy es el 2/2/2006, ver los registros correspondientes al perodo del 24 de enero de 2006 al 2 de febrero de 2006. Ao([FechaVenta]) = Ao(Ahora()) Y Mes([FechaVenta]) = Devuelve los registros correspondientes al Mes(Ahora()) mes en curso. Si hoy es el 2/2/2006, ver los registros correspondientes a febrero de 2006. Ao([FechaVenta])* 12 + ParcFecha("m", [FechaVenta]) = Devuelve los registros correspondientes al Ao(Fecha())* 12 + ParcFecha("m", Fecha()) - 1 mes pasado. Si hoy es el 2/2/2006, ver los registros correspondientes a enero de 2006. Ao([FechaVenta])* 12 + ParcFecha("m", [FechaVenta]) = Devuelve los registros correspondientes al Ao(Fecha())* 12 + ParcFecha("m", Fecha()) + 1 mes prximo. Si hoy es el 2/2/2006, ver los registros correspondientes a marzo de 2006. Entre Fecha( ) Y AgregFecha("M", -1, Fecha( )) Los registros de ventas de un perodo de un mes. Si hoy es el 2/2/2006, ver los registros correspondientes al perodo del 2 de enero de 2006 al 2 de febrero de 2006. Ao([FechaVenta]) = Ao(Ahora()) Y ParcFecha("t", Devuelve los registros correspondientes al Fecha()) = ParcFecha("t", Ahora()) trimestre en curso. Si hoy es el 2/2/2006, ver los registros correspondientes al primer

Contengan una fecha que sea del trimestre anterior

Ao([FechaVenta])*4+ParcFecha("t",[FechaVenta]) = Ao(Fecha())*4+ParcFecha("t",Fecha())- 1

Contengan una fecha que sea del prximo trimestre

Ao([FechaVenta])*4+ParcFecha("t",[FechaVenta]) = Ao(Fecha())*4+ParcFecha("t",Fecha())+1

Contengan fechas que sean del Ao([FechaVenta]) = Ao(Fecha()) ao en curso Contengan una fecha que sea del ao anterior Ao([FechaVenta]) = Ao(Fecha()) - 1

Contengan una fecha que sea del ao prximo

Ao([FechaVenta]) = Ao(Fecha()) + 1

Contengan una fecha que est Ao([FechaVenta]) = Ao(Fecha()) Y Mes([FechaVenta]) entre el 1 de enero y hoy <= Mes(Fecha()) Y Da([FechaVenta]) <= Da (Fecha()) (registros del ao hasta la fecha)

Contengan una fecha ya pasada < Fecha() Contengan una fecha del futuro > Fecha() Filtren valores nulos (o que falten) Filtren valores no nulos Es Nulo No es Nulo

trimestre de 2006. Devuelve los registros correspondientes al trimestre anterior. Si hoy es el 2/2/2006, ver los registros correspondientes al ltimo trimestre de 2005. Devuelve los registros correspondientes al prximo trimestre. Si hoy es el 2/2/2006, ver los registros correspondientes al segundo trimestre de 2006. Devuelve los registros correspondientes al ao en curso. Si hoy es el 2/2/2006, ver los registros correspondientes al ao 2006. Devuelve los registros de las transacciones que tuvieron lugar durante el ao pasado. Si hoy es el 2/2/2006, ver los registros correspondientes al ao 2005. Devuelve los registros de las transacciones con fecha en el ao prximo. Si hoy es el 2/2/2006, ver los registros correspondientes al ao 2007. Devuelve los registros de las transacciones con fechas entre el 1 de enero del ao en curso y la fecha actual. Si hoy es el 2/2/2006, ver los registros correspondientes al perodo del 1 de enero de 2006 al 2 de febrero de 2006. Devuelve los registros de las transacciones que tuvieron lugar antes de hoy. Devuelve los registros de las transacciones que tendrn lugar despus de hoy. Devuelve los registros en los que falta la fecha de la transaccin. Devuelve los registros en los que se conoce la fecha de la transaccin.

Criterios para otros campos


Campos S/No En la fila Criterios, escriba S para incluir los registros que tengan activada la casilla de verificacin. Escriba No para incluir los registros que no tengan activada la casilla de verificacin. Datos adjuntos En la fila Criterios, escriba Es Nulo para incluir los registros que no contengan datos adjuntos. Escriba No es Nulo para incluir los registros que s contengan datos adjuntos. Campos de bsqueda Hay dos tipos de campos de bsqueda: los que buscan valores en un origen de datos existente (mediante una clave externa) y los que se basan en una lista de valores especificados al crearse el campo de bsqueda. Los campos de bsqueda que se basan en una lista de valores especificados son del tipo de datos Texto, y los criterios vlidos son los mismos que para otros campos de texto. Los criterios que se pueden usar en un campo de bsqueda basado en valores de un origen de datos existente dependen del tipo de datos de la clave externa, y no del tipo de los datos que se buscan. Por ejemplo, suponga que tiene un campo de bsqueda que muestra los nombres de empleados, pero usa una clave externa de tipo de datos Nmero. Puesto que el campo almacena un nmero en lugar de texto, usted utilizar criterios vlidos para nmeros, es decir, >2. Si no conoce el tipo de datos de la clave externa, puede examinar la tabla de origen en la vista Diseo para determinar los tipos de datos de los campos. Para ello: 1. 2. Busque la tabla de origen en el panel de exploracin. Abra la tabla en la vista Diseo. Para ello: Haga clic en la tabla y, a continuacin, presione CTRL+ENTRAR. Haga clic con el botn secundario del mouse (ratn) en la tabla y, a continuacin, haga clic en Vista Diseo. El tipo de datos de cada campo se muestra en la columna Tipo de datos de la cuadrcula de diseo de la tabla.

3.

Campos multivalor Los datos de un campo multivalor se almacenan como filas en una tabla oculta que Office Access 2007 crea y rellena para representar el campo. En la vista Diseo de la consulta, se representa en el panel Lista de campos mediante un campo expansible. Para usar criterios para un campo multivalor, deber suministrar criterios para una fila de la tabla oculta. Para hacerlo: 1. 2. Cree una consulta que contenga el campo multivalor y brala en la vista Diseo. Expanda el campo multivalor haciendo clic en el signo ms (+) situado junto al campo (si el campo ya est expandido, habr un signo menos (-)). Justo debajo del nombre del campo, ver un campo que representa un nico valor del campo multivalor. Este campo tendr el mismo nombre que el campo multivalor, con la cadena .Value agregada al final. Arrastre el campo multivalor y su campo de valor nico a columnas distintas en la cuadrcula de diseo. Si desea ver slo el campo multivalor completo en los resultados, desactive la casilla de verificacin Mostrar correspondiente al campo de valor nico. Escriba los criterios en la fila Criterios correspondiente al campo de valor nico, utilizando criterios apropiados segn cual sea el tipo de datos de los valores. Cada valor del campo multivalor se puede evaluar individualmente mediante los criterios que especifique. Por ejemplo, puede tener un campo multivalor para almacenar una lista de nmeros. Si especifica los criterios >5 Y <3, todos los registros donde haya al menos un valor mayor que 5 y un valor menor que 3 aparecern en los resultados.

3. 4. 5.

Saque el mximo partido a sus consultas de Access


En este nmero veremos unos trucos sencillos para mejorar las consultas de seleccin de access incluyendo campos calculados, aadiendo etiquetas inteligentes y obteniendo resmenes numricos como la varianza o el promedio. tambin nos ocuparemos de generalizar las consultas y reutilizarlas mediante parmetros en consultas de seleccin, eliminacin y actualizacin. Cmo crear campos calculados en una consulta de seleccin

Las consultas de seleccin permiten obtener los registros de una tabla o tablas que cumplan con un criterio determinado. Por ejemplo, si tenemos una base de datos sobre medicamentos podramos realizar una consulta que nos muestre todos los que tienen un precio superior a 3 euros. Supongamos que este precio es sin IVA y nos interesa obtener en la consulta el IVA de cada medicamento y el precio con IVA incluido. Observe que no es necesario modificar la tabla para aadir estos dos campos, puesto que pueden calcularse directamente del campo Precio y del porcentaje de IVA (el 4%). Para crear los campos calculados supondremos que la consulta de seleccin ya est diseada (para ms informacin consulte el artculo Access 2002 (III) del nmero 193 de PC World) y daremos los pasos siguientes: 1. Acceda a la Vista Diseo de la consulta. 2. En la vista diseo ver varias columnas que contienen el nombre de los campos a consultar. Sitese en una columna vaca y contigua al ltimo campo, pulse en la fila Campo y escriba IVA:[precio]*0,04. Con esto estamos creando un campo calculado llamado IVA que se obtiene multiplicando el campo Precio por el 4%. 3. En la columna contigua cree el campo calculado Precio IVA incluido escribiendo Precio IVA incluido:[Precio]+[IVA] en la fila Campo. Si lo desea puede darles un formato apropiado, por ejemplo Moneda, pulsando con el botn derecho del ratn en el campo, seleccionando la opcin Propiedades y escogiendo Moneda en la propiedad Formato. Ahora slo queda probar la consulta pulsando el botn Ejecutar de la barra de herramientas. Cmo aadir etiquetas inteligentes a una consulta de seleccin

Sigamos con el ejemplo de la base de datos de medicamentos y suponga una consulta de laboratorios que incluya el nombre del representante comercial. Resultara muy prctico si al obtener los datos de la consulta se pudiera hacer un clic en un representante y enviarle directamente un correo electrnico, programar una reunin con l o ver todos sus datos. Todo esto es posible a condicin de que los representantes estn almacenados como contactos en Microsoft Outlook y que, adems, se asigne una etiqueta inteligente al campo en cuestin. Veamos cmo: 1. Acceda a la Vista Diseo de su consulta. 2. Pulse con el botn derecho del ratn en el campo que contiene el nombre del contacto, en el caso del ejemplo sera el nombre del representante, y elija la opcin Propiedades. 3. Pulse el botn Generar en la propiedad Etiquetas inteligentes. 4. Marque la casilla correspondiente a Nombre de la persona y pulse Aceptar.

Cuando ejecute la consulta y pase el puntero del ratn sobre cualquier representante saldr una etiqueta inteligente que le permitir hacer lo que comentbamos al inicio de este truco. Incluso le da la posibilidad de agregarlo directamente como contacto. Observe que, por defecto, Access tambin le ofrece crear etiquetas inteligentes en campos de tipo Fecha. Si lo hace, tendr acceso desde la etiqueta a programar una reunin o visualizar el calendario en la fecha que muestre el campo. Cmo obtener resmenes numricos en una consulta de seleccin

En ocasiones interesa obtener un resumen numrico de los datos en lugar de una consulta detallada. Por ejemplo, resumir el total de ventas agrupadas por regin o totalizar los salarios segn la categora laboral de los trabajadores. Como el supuesto que nos ocupa trabaja con medicamentos y estos estn agrupados en familias (analgsicos, anticidos, etc.) crearemos una consulta resumen que nos indique el nmero total de medicamentos que hay en cada familia, incluyendo su precio mnimo, mximo, medio y varianza. Para ello crearemos una consulta de seleccin en la que incluiremos solamente el campo por el que agrupamos (en este caso Familia) y los campos numricos que hay que resumir (Precio). Aadiremos el campo a resumir tantas veces como funciones le queramos aplicar. En nuestro caso son: Cuenta, Mn, Mx, Promedio y Var; por tanto lo agregaremos cinco veces. En el diseo de la consulta, indicaremos que deseamos obtener un resumen de los datos seleccionando en el men Ver Totales. Al hacer esta operacin veremos una nueva fila llamada Total. Slo resta indicar qu tipo de total se efectuar en cada campo eligindolo en la lista desplegable Total. Para nuestro ejemplo seleccionaremos Agrupar por en el campo Familia y, en los cinco campos Precio, seleccionaremos las funciones mencionadas anteriormente. Al ejecutar la consulta, Access mostrar el resumen solicitado. Si la consulta necesita que algn campo cumpla un criterio, por ejemplo, que el laboratorio sea MedicamentumPanacea, agregue el campo en el diseo y seleccione Dnde en la lista desplegable Total de dicho campo. Ahora ya puede escribir el criterio en la fila Criterios. Cmo utilizar consultas de seleccin con criterios parametrizados

Supongamos que nuestro objetivo es crear una consulta de seleccin con el nombre del medicamento, la cantidad pedida y la fecha del pedido, que muestre slo los medicamentos con cantidad pedida inferior a treinta. Tras crear la consulta insertando los campos solicitados tendremos que teclear <30 en la fila Criterio del campo Cantidad. Y al ejecutar la consulta obtendremos el resultado pedido y guardaremos la consulta como Pedidos de medicamentos con cantidad inferior a 30. Pero qu ocurre si nos interesa una cantidad diferente, por ejemplo, inferior a 100 o a 120? Esto nos obliga a modificar el criterio de la consulta y volver a ejecutarla. En lugar de esto, la idea es crear una consulta lo ms general posible que permita consultar los medicamentos pedidos con cantidad inferior a un nmero cualquiera. Para conseguirlo, sustituiremos el criterio anterior por <[Cantidad pedida] donde [Cantidad pedida] es un parmetro cuyo valor nos preguntar Access cada vez que ejecutemos la consulta.

La misma idea podemos aplicar con otros tipos de campos, por ejemplo, de Fecha. Para obtener los pedidos de medicamentos realizados entre el 1/12/2004 y el 31/12/2004 el criterio sera Entre #01/12/2004# Y #31/12/2004#. Pero si queremos generalizar la consulta para obtener los pedidos entre dos fechas cualesquiera entonces las sustituiremos por parmetros. El criterio sera Entre [Fecha inicial] y [Fecha final]. Igual que en el caso anterior, al ejecutar la consulta Access preguntar por el valor de los parmetros y podremos teclear las fechas que nos interesen en ese momento. Cmo usar los parmetros con campos tipo Texto o Memo

Nuestra tabla Medicamentos dispone de un campo Memo llamado Indicaciones que describe para qu casos es apropiado el medicamento. Si pretendemos realizar una consulta de seleccin que muestre los medicamentos indicados para el dolor de cabeza y ponemos el criterio =dolores de cabeza slo encontrar los medicamentos cuya nica indicacin sea exactamente esa y no encontrara medicamentos indicados para, por ejemplo, Procesos que cursan con dolor leve o moderado. Dolores de cabeza, dentales, etc., aunque contengan la indicacin del criterio. Para resolverlo utilizaremos un criterio que busque un texto dentro del campo utilizando la palabra reservada Como y el asterisco. El criterio apropiado sera ste Como *dolores de cabeza*. Si pretendemos generalizar la consulta para localizar los medicamentos con cualquier indicacin entonces utilizaremos un parmetro en el criterio de la forma siguiente: Como * & [Teclee indicacin] & *, siendo [Teclee indicacin] el parmetro. Los asteriscos indican que el texto a buscar puede estar precedido o sucedido por otro texto cualquiera y el & se utiliza para concatenar textos. Cmo usar consultas de actualizacin y eliminacin parametrizadas

El uso de parmetros no se restringe nicamente a consultas de seleccin. Es posible aplicarlas a cualquier otro tipo de consultas como las de eliminacin o actualizacin. Veamos un ejemplo para cada una. Empezaremos por crearnos una consulta de eliminacin para borrar todos los pedidos con fecha inferior a una dada. La consulta tendr como nico campo la fecha del pedido y, tras seleccionar en el men Consulta Consulta de eliminacin, nos aseguraremos de que, en la fila Eliminar, figura Dnde y teclearemos el criterio <[Teclee una fecha]. Al igual que en las consultas de seleccin, al ejecutar la consulta, Access preguntar por el parmetro. Tras teclearlo pedir confirmacin para eliminar los registros que cumplan con el criterio indicado. En la consulta de actualizacin nos interesa incrementar el precio de los medicamentos de un laboratorio en un porcentaje determinado. La consulta tendr slo dos campos. El del criterio, Cdigo de laboratorio, y el campo a actualizar (Precio). Una vez agregados estos campos a la consulta y seleccionado en el men Consulta Consulta de actualizacin, teclearemos el criterio [Teclee laboratorio] en el campo del laboratorio y, en la fila Actualizar a del campo Precio, introduciremos [Precio]*(1+[Porcentaje]). Al ejecutar la consulta, si tecleamos el porcentaje 0,12 y el laboratorio 15 conseguiremos incrementar en un 12% los precios de ese laboratorio. Por supuesto, los parmetros tambin pueden utilizarse en consultas de creacin de tabla, de datos anexados y de tabla de referencias cruzadas.

Vous aimerez peut-être aussi