Sei sulla pagina 1di 37

Access SQL:

conceptos
bsicos,
vocabulario y
sintaxis
IMPORTANTE Este artculo se ha traducido con traduccin automtica; vea la declinacin de

responsabilidades. Para su referencia, puede encontrar la versin en ingls de este artculo aqu.
Si desea recuperar datos de una base de datos, puede solicitar los datos mediante el Lenguaje de
consulta estructurado o SQL. SQL es un lenguaje de computacin que se asemeja al ingls y que los
programas de bases de datos comprenden. Cada consulta que se ejecuta usa SQL en segundo plano.
Si comprende el funcionamiento de SQL podr crear mejores consultas adems de solucionar una
consulta que no brinda los resultados deseados.
ste es uno de varios artculos acerca de Access SQL. En este artculo se describe el uso bsico de
SQL para seleccionar datos y se usan ejemplos para ilustrar la sintaxis de SQL.

En este artculo
Qu es SQL?
Clusulas SQL bsicas: SELECT, FROM y WHERE
Ordenar los resultados: ORDER BY
Trabajar con datos resumidos: GROUP BY y HAVING
Combinar los resultados de las consultas: UNION

Qu es SQL?
SQL es un lenguaje informtico para trabajar con conjuntos de hechos y las relaciones entre ellos.
Programas de bases de datos relacionales, como Microsoft Office Access, utilizan SQL para trabajar
con datos. A diferencia de muchos lenguajes de programacin, SQL no es difcil de leer y entender,
incluso para un principiante. Al igual que muchos lenguajes de computacin, SQL es un estndar
internacional que es reconocido por los organismos de normalizacin como ISO y ANSI.

SQL no es difcil de leer y entender, incluso para un usuario inexperto.

Utilice SQL para describir conjuntos de datos que pueden ayudarle a responder preguntas. Cuando se
utiliza SQL, debe utilizar la sintaxis correcta. Sintaxis es el conjunto de reglas por las que se
combinan correctamente los elementos de un idioma. Sintaxis SQL se basa en sintaxis ingls y
utiliza muchos de los mismos elementos de Visual Basic para Aplicaciones sintaxis (VBA).
Por ejemplo, una simple instruccin SQL que recupera una lista de los apellidos de contactos cuyo
nombre es Mara podra ser similar a esto:
SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';
NOTA SQL no se usa solo para manipular datos, sino tambin para crear y modificar el diseo de

los objetos de una base de datos (por ejemplo, las tablas). La parte de SQL que se usa para crear y
modificar objetos de una de base de datos se denomina lenguaje de definicin de datos (DDL). En
este tema no se describe el DDL. Para obtener ms informacin, vea el tema acerca de cmo crear o
modificar tablas o ndices mediante una consulta de definicin de datos.

Instrucciones SELECT
Para describir un conjunto de datos mediante SQL, escriba una instruccin SELECT. Una
instruccin SELECT contiene una descripcin completa del conjunto de datos que desea obtener de
una base de datos. Incluye lo siguiente:

Qu tablas contienen los datos.

Cmo se relacionan los datos de orgenes diferentes.

Qu campos o clculos proporcionarn los datos.

Criterios que los datos deben cumplir para ser incluidos.

Si se deben ordenar los datos y, en caso de ser as, cmo deben ordenarse.

Clusulas SQL
Al igual que una frase, una instruccin SQL tiene clusulas. Cada clusula realiza una funcin para
la instruccin SQL. Algunas clusulas son obligatorias en una instruccin SELECT. En la siguiente
tabla se enumeran las clusulas SQL ms comunes.

Clusula
SQL

Accin

Necesario

seleccionar

Muestra una lista de los campos que contienen datos de inters.

Yes

De

Muestra las tablas que contienen los campos de la clusula SELECT.

Yes

donde:

Especifica los criterios de campo que cada registro debe cumplir para poder ser incluido
en los resultados.

No

ORDER BY

Especifica la forma de ordenar los resultados.

No

Agrupar por

En una instruccin SQL que contiene funciones de agregado, muestra los campos que
no se resumen en la clusula SELECT.

Solo si estn e
campos

HAVING

En una instruccin SQL que contiene funciones de agregado, especifica las condiciones
que se aplican a los campos que se resumen en la instruccin SELECT.

No

Trminos de SQL
Cada clusula SQL consta de trminos, comparables a diferentes partes de la oracin. En la siguiente
tabla se enumeran los tipos de trminos de SQL.

Trmino de
SQL

Parte de la oracin
comparable

Definicin

Ejemplo

identificador

sustantivo

Nombre que se usa para identificar un objeto de la base


de datos, como el nombre de un campo.

Clientes.[Nmero de
telfono]

operador

verbo o adverbio

Palabra clave que representa o modifica una accin.

Como

constante

sustantivo

Valor que no cambia, como un nmero o un valor nulo


(NULL).

42%

expresin

adjetivo

Combinacin de identificadores, operadores,


constantes y funciones que se evala como un valor
nico.

> = Productos.[Precio
por unidad]

Inicio de la pgina

Clusulas SQL bsicas:


SELECT, FROM y WHERE
Una instruccin SQL tiene el formato general:
SELECT field_1
FROM table_1
WHERE criterion_1
;
NOTAS

Access pasa por alto los saltos de lnea en una instruccin SQL. Sin embargo, conviene usar
una lnea para cada clusula para que las instrucciones SQL sean ms fciles de leer por todos.

Cada una de las instrucciones SELECT termina con un punto y coma (;). El punto y coma
(;) puede aparecer al final de la ltima clusula o solo en una lnea al final de la instruccin SQL.

Un ejemplo en Access

A continuacin se muestra el aspecto que podra tener en Access una instruccin SQL para una
consulta de seleccin simple:

1. Clusula SELECT
2. Clusula FROM
3. Clusula WHERE
En este ejemplo de instruccin SQL, se indica "Seleccionar los datos almacenados en los campos
Direccin de correo electrnico y Empresa de la tabla llamada Contactos, especficamente aquellos
registros en los cuales el valor del campo Ciudad sea Seattle".
A continuacin se incluye un ejemplo y se describe cada clusula para mostrar cmo funciona la
sintaxis de SQL.

Clusula SELECT
SELECT [E-mail Address], Company
sta es la clusula SELECT. Se compone de un operador (SELECT) seguido de dos identificadores
([Direccin de correo electrnico] y Empresa).
Si un identificador contiene espacios o caracteres especiales (como "Direccin de correo
electrnico"), se debe escribir entre corchetes.
Una clusula SELECT no tiene que mencionar las tablas que contienen los campos y no puede
especificar las condiciones que deben cumplir los datos que se van a incluir.
La clusula SELECT siempre aparece antes que la clusula FROM en una instruccin SELECT.

Clusula FROM
FROM Contacts

sta es la clusula FROM. Se compone de un operador (FROM) seguido de un identificador


(Contactos).
Una clusula FROM no enumera los campos que se van a seleccionar.

Clusula WHERE
WHERE City="Seattle"
sta es la clusula WHERE. Se compone de un operador (WHERE) seguido de un identificador
(Ciudad="Seattle").
NOTA A diferencia de las clusulas SELECT y FROM, la clusula WHERE no es un elemento

obligatorio en una instruccin SELECT.


Puede realizar muchas de las acciones que SQL permite realizar mediante las clusulas SELECT,
FROM y WHERE. En los siguientes artculos adicionales encontrar ms informacin sobre cmo
usar estas clusulas:

Access SQL: clusula SELECT

Access SQL: clusula FROM

Access SQL: clusula WHERE


Inicio de la pgina

Ordenar los resultados:


ORDER BY
Al igual que Microsoft Office Excel, Access permite ordenar los resultados de la consulta en una
hoja de datos. Adems, puede especificar en la consulta cmo desea ordenar los resultados al
ejecutar la consulta mediante una clusula ORDER BY. Si usa una clusula ORDER BY, sta ser la
ltima clusula en la instruccin SQL.
Una clusula ORDER BY contiene una lista de los campos que desea usar para ordenar, en el mismo
orden en el que desea aplicar las operaciones de ordenacin.
Por ejemplo, suponga que desea ordenar los resultados por el valor del campo Empresa en orden
descendente y, en caso de que haya registros con el mismo valor para Empresa , desea ordenarlos
adems por el valor indicado en el campo Direccin de correo electrnico en orden ascendente. La
clusula ORDER BY podra ser similar a la siguiente:

ORDER BY Company DESC, [E-mail Address]


NOTA De forma predeterminada, Access ordena los valores de forma ascendente (A-Z, de menor a

mayor). Use la palabra clave DESC para ordenar los valores en orden descendente.
Para obtener ms informacin acerca de la clusula ORDER BY, vea el tema sobre la clusula
ORDER BY.
Inicio de la pgina

Trabajar con datos


resumidos: GROUP BY y
HAVING
A veces, desea trabajar con datos resumidos, como las ventas totales de un mes o los elementos ms
caros en el inventario. Para ello, debe aplicar una funcin de agregado a un campo en la clusula
SELECT. Por ejemplo, si desea que la consulta muestre la cantidad de direcciones de correo
electrnico para cada una de las empresas, la clusula SELECT debera parecerse a la siguiente:
SELECT COUNT([E-mail Address]), Company
Las funciones de agregado que se pueden usar dependen del tipo de datos del campo o la expresin
que desea emplear. Para obtener ms informacin acerca de las funciones de agregado disponibles,
vea el tema sobre lasfunciones de agregado de SQL.

Especificar campos que no se usan en una


funcin de agregado: clusula GROUP BY
Al usar las funciones de agregado, normalmente debe crear una clusula GROUP BY. Una clusula
GROUP BY muestra una lista de todos los campos a los que no se aplica una funcin de agregado.
Si aplica las funciones de agregado a todos los campos de una consulta, no es necesario crear la
clusula GROUP BY.
Una clusula GROUP BY se incluye inmediatamente despus de la clusula WHERE o la clusula
FROM si no hay una clusula WHERE. La clusula GROUP BY muestra una lista de los campos
que aparecen en la clusula SELECT.
Por ejemplo, siguiendo con el ejemplo anterior, si la clusula SELECT aplica una funcin de
agregado a [Direccin de correo electrnico] pero no a Empresa, la clusula GROUP BY sera
similar a la siguiente:
GROUP BY Company

Para obtener ms informacin acerca de la clusula GROUP BY, vea el tema sobre la clusula
GROUP BY.

Limitar los valores de agregado mediante


los criterios de agrupacin: clusula HAVING
Si desea usar criterios para limitar sus resultados, pero el campo al que desea aplicar el criterio se
usa en una funcin de agregado, no puede usar una clusula WHERE. En su lugar, debe usar una
clusula HAVING. La clusula HAVING funciona como la clusula WHERE, pero se usa para los
datos agregados.
Por ejemplo, suponga que usa la funcin COUNT (que devuelve un nmero de filas) con el primer
campo de la clusula SELECT:
SELECT COUNT([E-mail Address]), Company
Si desea que la consulta limite los resultados segn el valor de la funcin COUNT, no puede usar un
criterio para dicho campo en la clusula WHERE. Por el contrario, debe incluir el criterio en una
clusula HAVING. Por ejemplo, si solo desea que la consulta indique las filas en caso de que exista
ms de una direccin de correo electrnico asociada con la empresa, la clusula HAVING debera
ser similar a la siguiente:
HAVING COUNT([E-mail Address])>1
NOTA Una consulta puede incluir una clusula WHERE y una clusula HAVING: los criterios para

los campos que no se usan en una funcin de agregado se corresponden con la clusula WHERE y
los criterios de los campos que se usan en las funciones de agregado se corresponden con la clusula
HAVING.
Para obtener ms informacin acerca de la clusula HAVING, vea el tema sobre la clusula
HAVING.
Inicio de la pgina

Combinar los resultados de


la consulta: UNION
Si desea revisar todos los datos obtenidos en conjunto de varias consultas de seleccin similares,
como un conjunto combinado, use el operador UNION.
El operador UNION le permite combinar dos instrucciones SELECT en una. Las instrucciones
SELECT que combine deben tener el mismo nmero de campos de resultado, en el mismo orden y
con el mismo tipo de datos o con tipos de datos compatibles. Al ejecutar la consulta, los datos de

cada conjunto de campos correspondientes se combinan en un nico campo de resultado de modo


que el resultado de la consulta tenga el mismo nmero de campos que cada una de las instrucciones
de seleccin.
NOTA Para las consultas de unin, los tipos de datos Texto y Nmero son compatibles.

Si usa el operador UNION, tambin puede usar la palabra clave ALL para especificar si los
resultados de la consulta deben incluir las filas duplicadas, si existe alguna.
La sintaxis bsica de SQL para una consulta de unin que combina dos instrucciones SELECT es la
siguiente:
SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Por ejemplo, supongamos que tiene una tabla denominada Productos y otra tabla denominada
Servicios. Ambas tablas tienen campos que contienen el nombre del producto o servicio, el precio, la
disponibilidad de garanta del servicio o de garanta del producto, y si el producto o servicio se
ofrece de forma exclusiva. Aunque en la tabla Productos se almacena informacin de garanta del
producto y en la tabla Servicios se almacena informacin de garanta del servicio, la informacin
bsica es la misma (si un producto o servicio determinado incluye una garanta de calidad). Puede
usar una consulta de unin, como la que se muestra a continuacin, para combinar los cuatro campos
de las dos tablas:
SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Access SQL:
clusula SELECT
ste es uno de varios artculos acerca de Access SQL. Este artculo describe cmo escribir una
clusula SELECT y brinda ejemplos para demostrar las diferentes tcnicas que puede usar cuando
las escribe.
Para obtener informacin general sobre Access SQL, vea el artculo Access SQL: conceptos bsicos,
vocabulario y sintaxis. Para obtener ms informacin acerca de otras partes de Access SQL, consulte
la seccin Vea tambin.

En este artculo
Seleccionar campos: la clusula SELECT
Seleccionar todos los campos
Seleccionar valores distintos
Usar nombres sustitutos para los campos o expresiones: la palabra clave
AS
Seleccionar mediante una expresin

Seleccionar campos: la
clusula SELECT
Una instruccin SELECT se inicia normalmente con una clusula SELECT. Una clusula SELECT
se usa para especificar los nombres de los campos que tienen datos que desea usar en una consulta.
Tambin puede usar expresin en lugar de campos o adems de ellos. Incluso puede usar otra
instruccin SELECT como un campo, esto se conoce como subconsulta.
Suponga que desea conocer los nmeros de telfono de sus clientes. Suponiendo que el campo que
almacena los nmeros de telfono de los clientes se llama txtTelClien, la clusula SELECT se ver
de la siguiente forma:
SELECT [txtTelClien]

Puede escribir el nombre entre corchetes. Si el nombre no contiene espacios ni caracteres especiales
(como signos de puntuacin), los corchetes son opcionales. Si el nombre contiene espacios o
caracteres especiales, debe utilizar los corchetes.
SUGERENCIA Un nombre que contiene espacios resulta ms fcil de leer y le permite ahorrar

tiempo cuando disea formularios e informes, pero es posible que luego deba escribir ms al
especificar instrucciones SQL. Debe tener en cuenta este dato cuando asigne un nombre a los objetos
de la base de datos.
Si la instruccin SQL tiene dos o ms campos con el mismo nombre, debe agregar el nombre de cada
origen de datos del campo al nombre del campo en la clusula SELECT. Usar el mismo nombre
para los orgenes de datos que ha usado en la clusula FROM.
Volver al principio

Seleccionar todos los


campos
Cuando desea incluir todos los campos de un origen de datos, puede enumerar todos los campos
individualmente en la clusula SELECT o bien puede usar el carcter comodn asterisco (*). Cuando
usa el asterisco, Access determina los campos que contiene el origen de datos cuando se ejecuta la
consulta e incluye todos esos campos en la consulta. Esto le permite estar seguro de que la consulta
se actualizar en caso de que se agreguen nuevos campos en el origen de datos.
Puede usar el asterisco con uno o ms orgenes de datos en una instruccin SQL. Si usa el asterisco y
hay varios orgenes de datos, debe incluir el nombre del origen de datos junto con el asterisco, de
modo que Access pueda determinar desde qu origen de datos debe incluir todos los campos.
Por ejemplo, suponga que desea seleccionar todos los campos de la tabla Pedidos pero slo la
direccin de correo electrnico de la tabla de Contactos. La clusula SELECT podra ser similar a la
siguiente:
SELECT Pedidos.*, Contactos.[Direccin de correo electrnico]
NOTA Realice un seguimiento cada vez que usa el asterisco. Si ms adelante se agregan al origen de

datos nuevos campos que no han sido previstos, los resultados de la consulta podran no ser los
deseados.
Volver al principio

Seleccionar valores distintos

Si sabe que la instruccin seleccionar datos redundantes y prefiere ver slo los valores distintos,
puede usar la palabra clave DISTINCT en la clusula SELECT. Por ejemplo, suponga que cada uno
de los clientes representa varios intereses diferentes, algunos de los cuales usan el mismo nmero de
telfono. Si desea asegurarse de que slo se vea cada uno de los nmeros de telfono una vez, la
clusula SELECT debe ser similar a la siguiente:
SELECT DISTINCT [txtTelClien]
Volver al principio

Usar nombres sustitutos


para los campos o
expresiones: la palabra clave
AS
Puede cambiar la etiqueta que se muestra para cualquier campo en la vista de hoja de datos usando la
palabra clave AS y un alias de campo en la clusula SELECT. Un alias de campo es un nombre que
se asigna a un campo en una consulta para que las consultas sean ms fciles de leer. Por ejemplo, si
desea seleccionar datos de una campo llamado txtTelClien y el campo contiene los nmeros de
telfono de los clientes, puede mejorar la legibilidad de los resultados usando un alias de campo en
la instruccin SELECT de la siguiente manera:
SELECT [txtTelClien] AS [Nmero de telfono del cliente]
NOTA Debe usar un alias de campo cuando se usa una expresin en una clusula SELECT.

Volver al principio

Seleccionar mediante una


expresin
A veces necesita realizar clculos segn los datos o recuperar slo una parte de los datos de un
campo. Por ejemplo, suponga que desea obtener el ao de nacimiento de los clientes segn los datos
del campo Fecha de nacimiento de la base de datos. La clusula SELECT se asemejar a la
siguiente:
SELECT ParcFecha("aaaa",[FechaNacimiento]) AS [AoNacimiento]

Esta expresin consta de la funcin ParcFecha y dos argumentos , "aaaa" (una constante) y
[FechaNacimiento] (un identificador).
Puede usar cualquier expresin vlida como campo, siempre que la expresin genere un valor nico
cuando se especifica un valor de entrada nico.

Access SQL:
clusula FROM
Este artculo pertenece al conjunto de artculos sobre Access SQL. En este artculo se describe cmo
escribir una clusula FROM y se usan ejemplos para ilustrar distintas tcnicas que se pueden usar en
una clusula FROM.
En una instruccin SELECT, puede especificar los orgenes de datos en la clusula FROM. La
clusula FROM tambin puede contener una operacin JOIN. Una operacin JOIN se usa para unir y
combinar datos de dos orgenes de datos, como dos tablas o una tabla y una consulta.
Para obtener informacin general sobre Access SQL, vea el artculo Access SQL: conceptos bsicos,
vocabulario y sintaxis. Para obtener ms informacin sobre otras partes de Access SQL, vea la
seccin Vea tambin.

En este artculo
Especificar orgenes de datos
Usar nombres sustitutos para orgenes de datos
Combinar datos relacionados

Especificar orgenes de
datos
En una instruccin SELECT, la clusula FROM especifica las tablas o consultas que contienen los
datos que usar la clusula SELECT.
Supongamos que desea saber el nmero de telfono de un cliente especfico. Si la tabla que contiene
el campo que almacena estos datos se llamara tblCliente, la clusula FROM sera similar a:

FROM tblCliente
Puede escribir el nombre entre corchetes. Si el nombre no contiene espacios ni caracteres especiales
(como signos de puntuacin), los corchetes son opcionales. Si el nombre contiene espacios o
caracteres especiales, debe usar los corchetes.
SUGERENCIA Un nombre que contiene espacios resulta ms fcil de leer y le permite ahorrar

tiempo cuando disea formularios e informes, pero es posible que luego deba escribir ms al
especificar instrucciones SQL. Debe tener en cuenta este dato cuando asigne un nombre a los objetos
de la base de datos.
Volver al principio

Usar nombres sustitutos


para orgenes de datos
Puede usar un nombre diferente para hacer referencia a una tabla en una instruccin SELECT
mediante un alias de tabla en la clusula FROM. Un alias de tabla es un nombre que se asigna a un
origen de datos en una consulta cuando se usa una expresin como un origen de datos, o para que sea
ms fcil escribir y leer la instruccin SQL. Esto puede ser muy til si el nombre del origen de datos
es largo o difcil de escribir, especialmente cuando hay varios campos de distintas tablas que tienen
el mismo nombre.
Por ejemplo, si desea seleccionar datos de dos campos, ambos con el nombre ID, uno de los cuales
procede de la tabla tblCliente y el otro de la tabla tblPedido, la clusula SELECT podra parecerse a:
SELECT [tblCliente].[ID], [tblPedido].[ID]
Al usar alias de tabla en la clusula FROM, puede hacer que sea ms fcil escribir la consulta. As, la
clusula FROM podra ser similar a:
FROM [tblCliente] AS [C], [tblPedido] AS [P]
A continuacin, puede usar estos alias de tabla en la clusula SELECT de esta manera:
SELECT [C].[ID], [P].[ID]
NOTA Cuando se usa un alias de tabla, puede hacer referencia a la tabla en la instruccin SQL

mediante el alias o mediante el nombre completo de la tabla.


Volver al principio

Combinar datos relacionados

Cuando necesite combinar pares de registros de dos orgenes de datos en un registro nico en los
resultados de una consulta, puede realizar una combinacin. Una combinacin es una operacin SQL
que especifica cmo se relacionan dos orgenes de datos y si se deben incluir los datos de un origen
si no hay ningn dato correspondiente desde el otro origen.
Para combinar la informacin de dos orgenes de datos, debe realizar una operacin de combinacin
en el campo que tienen en comn. Cuando los valores almacenados en este campo coinciden, los
datos de los registros se combinan en los resultados.
Adems de la combinacin de datos, tambin se puede usar una combinacin para especificar si se
incluirn registros de cualquier tabla en el caso de que no haya ningn registro correspondiente en la
tabla relacionada.
Por ejemplo, supongamos que desea usar los datos de dos tablas en una consulta: tblCliente y
tblPedido. Las dos tablas tienen un campo, IDCliente, que identifica a un cliente. Cada uno de los
registros de la tabla tblCliente puede tener uno o ms registros correspondientes en la tabla tblPedido
y los valores correspondientes pueden estar determinados por los valores del campo IDCliente.
Si desea combinar las tablas de modo que la consulta combine los registros de las tablas y excluya
registros de cada tabla si no hay ningn registro correspondiente en la otra tabla, la clusula FROM
puede ser similar a (se agreg un salto de lnea aqu para mejorar la legibilidad):
FROM [tblCliente] INNER JOIN [tblPedido]
ON [tblCliente].[IDCliente]=[tblPedido].[IDCliente]

En Microsoft Office Access, las combinaciones se producen en la clusula FROM de una instruccin
SELECT. Hay dos tipos de combinaciones: combinaciones internas y combinaciones externas. En
las siguientes secciones se explican estos dos tipos de combinaciones.

Combinaciones internas
Las combinaciones internas son el tipo de combinacin ms comn. Cuando se ejecuta una consulta
con una combinacin interna, los nicos registros que se incluyen en los resultados de la consulta
son los registros en los que existe un valor comn en las dos tablas combinadas.
Una combinacin interna tiene la siguiente sintaxis (se agreg un salto de lnea aqu para mejorar la
legibilidad):
FROM tabla1 INNER JOIN tabla2
ON tabla1.campo1 opcomp tabla2.campo2

En la siguiente tabla se describen las diferentes partes de una operacin INNER JOIN.

Parte

Descripcin

tabla1,tabla2

Nombres de las tablas cuyos registros se combinan.

campo1,campo
2

Nombres de los campos que se combinan. Si no son numricos, los campos deben ser del mismo tipo de
datos y contener la misma clase de datos, pero pueden tener nombres distintos.

opcomp

Cualquier operador de comparacin relacional: "=", "<", ">", "<=", ">=" o "<>".

Combinaciones externas
Las combinaciones externas son similares a las combinaciones internas porque indican a una
consulta cmo combinar informacin a partir de dos orgenes. Son diferentes ya que tambin
especifican si se incluirn datos donde no hay ningn valor comn. Las combinaciones externas son
direccionales: se puede especificar si incluir todos los registros del primer origen de datos
especificado en la combinacin (denominada combinacin izquierda o left join), o incluir todos los
registros del segundo origen de datos en la combinacin (denominada combinacin derecha o right
join).
Una combinacin externa tiene la siguiente sintaxis:
FROM tabla1 [ LEFT | RIGHT ] JOIN tabla2
ON tabla1.campo1opcomp tabla2.campo2
En la siguiente tabla se describen las diferentes partes de las operaciones LEFT JOIN y RIGHT
JOIN.

Parte

Descripcin

tabla1,tabla2

Nombres de las tablas cuyos registros se combinan.

campo1,campo
2

Nombres de los campos que se combinan. Estos campos deben ser del mismo tipo de datos y contener la
misma clase de datos, pero pueden tener nombres distintos.

Parte

Descripcin

opcomp

Cualquier operador de comparacin relacional: "=", "<", ">", "<=", ">=" o "<>".

Access SQL:
clusula WHERE
ste es uno de varios artculos acerca de Access SQL. Este artculo describe cmo escribir una
clusula WHERE y brinda ejemplos para demostrar las diferentes tcnicas que puede usar en una
clusula WHERE.
En una instruccin SQL, la clusula WHERE especifica los criterios que deben cumplir los valores
de campo para los registros que contienen los valores que se van a incluir en los resultados de la
consulta.
Para obtener informacin general sobre Access SQL, vea el artculo Access SQL: conceptos bsicos,
vocabulario y sintaxis. Para obtener ms informacin acerca de otras partes de Access SQL, consulte
la seccin Vea tambin.

En este artculo
Limitar los resultados mediante la especificacin de criterios
Sintaxis de la clusula WHERE

Usar la clusula WHERE para combinar orgenes de datos

Limitar los resultados


mediante la especificacin
de criterios
Cuando desea usar datos para limitar el nmero de registros que se devuelven en una consulta, puede
usar criterio. Un criterio de consulta es similar a una frmula, se trata de una cadena que puede
constar de referencias de campo, operador y constante. Los criterios de consulta son un tipo de
expresin.
En la siguiente tabla se muestran algunos criterios de ejemplo y se explica cmo funcionan.

Criterios

Descripcin

>25 y <50

Este criterio se aplica a un campo de nmero, como Precios o UnidadesenExistencias.


Incluye slo aquellos registros donde el campo Precio o UnidadesenExistencias contiene
valor superior a 25 e inferior a 50.

DifFecha("aaaa",
[FechaNacimiento], Fecha())
> 30

Este criterio se aplica a un campo de Fecha/Hora, como Fecha de nacimiento. En el resul


de la consulta se incluyen nicamente los registros en los cuales la cantidad de aos entre
fecha de nacimiento de una persona y la fecha actual es mayor que 30.

Es nulo

Este criterio se puede aplicar a cualquier tipo de campo para mostrar los registros en los
el valor de campo es nulo.

Tal como se observa en la tabla anterior, 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.
IMPORTANTE Si se usa un campo con una funcin de agregado, no podr especificar criterios para

dicho campo en una clusula WHERE. En su lugar, use una clusula HAVING para especificar los
criterios de los campos agregados. Para obtener ms informacin, vea el artculo Access SQL:
conceptos bsicos, vocabulario y sintaxis y el artculoClusula HAVING.

Volver al principio

Sintaxis de la clusula
WHERE
En la clusula WHERE de una instruccin SELECT se usan criterios de consulta.
Una clusula WHERE tiene la siguiente sintaxis bsica:
WHERE campo = criterios
Por ejemplo, suponga que desea el nmero de telfono de un cliente, pero slo recuerda que el
apellido del cliente es Garca. En lugar de buscar en todos los nmeros de telfono en su base de
datos, puede usar una clusula WHERE para limitar los resultados y encontrar ms fcilmente el
nmero de telfono deseado. Suponiendo que los apellidos estn guardados en un campo
denominado Apellidos, su clusula WHERE se ver del siguiente modo:
WHERE [Apellidos]='Garca'
NOTA No es necesario basar los criterios de la clusula WHERE en la equivalencia de valores.

Puede usar otros operadores de comparacin, como mayor que (>) o menor que (<). Por
ejemplo, WHERE [Precio]>100.
Volver al principio

Usar la clusula WHERE para


combinar orgenes de datos
A veces necesita combinar los orgenes de datos basados en los campos que contienen datos
coincidentes, pero que tienen distintos tipos de datos. Por ejemplo, el campo de una tabla puede
tener el tipo de datos Nmero y desea comparar dicho campo con un campo de otra tabla que tiene el
tipo de datos Texto.
No puede crear una unin entre campos que tienen distintos tipos de datos. Para combinar los datos
de dos orgenes de datos basados en los valores de los campos que tienen distintos tipos de datos,
debe crear una clusula WHERE que use un campo como criterio para el otro campo, mediante la
palabra clave LIKE.
Por ejemplo, suponga que desea usar los datos de la tabla1 y de la tabla2, pero slo cuando los datos
en el campo1 (campo de texto en la tabla1) coinciden con los datos del campo2 (campo numrico en
la tabla2). Su clusula WHERE ser similar a la siguiente:

WHERE campo1 LIKE campo2


Para obtener ms informacin acerca de cmo crear un criterio para una clusula WHERE, vea el
artculo Ejemplos de criterios de consulta.

Ejemplos de
criterios de
consulta
Cuando desee limitar los resultados de una consulta segn los valores de un campo, use criterio de
bsqueda. Un criterio de bsqueda es una expresin que Access compara con valores de campo de
consulta para determinar si incluir el registro que contiene cada valor. Por ejemplo, = "Chicago" es
una expresin que Access puede comparar con valores de un campo de texto en una consulta. Si el
valor de ese campo en un registro determinado es"Chicago", Access incluye el registro en los
resultados de la consulta.
En este tema se muestran varios ejemplos de criterios de bsqueda. Se supone que est familiarizado
con el diseo de consultas de seleccin simples.

Para ms informacin sobre cmo crear consultas de seleccin, vea el artculo Seleccin de datos
mediante una consulta.

Contenido
Introduccin a los criterios de bsqueda
Criterios para campos de texto, Memo e hipervnculo
Criterios para campos de nmero, moneda y autonumricos
Criterios para campos de fecha y hora
Criterios para los dems campos

Introduccin a los criterios


de bsqueda
Un criterio es similar a una frmula, es una cadena que puede estar compuesta por referencias de
campo, operadores y constantes. Los criterios de bsqueda tambin se conocen como expresiones en
Microsoft Office Access 2007.
Las tablas siguientes muestran algunos criterios de ejemplo y se explica cmo funcionan.

Criterios

Descripcin

>25 y <50

Este criterio se aplica a un campo de nmero, como Precio o ExistenciasDeUnidades. So


incluye aquellos registros en los que el campo Precio o ExistenciasDeUnidades contiene
valor superior a 25 y menor que 50.

DifFecha ( "aaaa",
[FechaNacimiento], Fecha())
> 30

Este criterio se aplica a un campo de fecha y hora, como FechaNacimiento. Solo los regi
en los que el nmero de aos que transcurren entre la FechaNacimiento de una pers
y la fecha de hoy es mayor que 30 se incluyen en el resultado de la consulta.

Is Null

Este criterio se puede aplicar a cualquier tipo de campo para mostrar los registros en los
que el valor del campo es NULL.

Como puede ver, los criterios pueden parecer muy diferentes entre s, segn el tipo de datos del
campo al que se aplican y sus requisitos especficos. Algunos criterios son sencillos y usan
operadores y constantes bsicos. Otros son complejos y usan funciones, operadores especiales e
incluyen referencias de campo.
En este tema se enumeran varios criterios usados con frecuencia por tipo de datos. Si los ejemplos de
este tema no tratan sus necesidades especficas, puede que tenga que escribir sus propios criterios.
Para ello, primero debe familiarizarse con la lista completa de funciones, operadores, caracteres
especiales y la sintaxis de expresiones que hacen referencia a los campos y literales. Para ms
informacin, vea los artculos que se detallan en la seccin Vea tambin.
Aqu ver dnde y cmo puede agregar los criterios. Para agregar un criterio a una consulta, debe
abrir la consulta en la vista Diseo. Luego, identifique los campos para los que desea especificar
criterios. Si el campo no est an en la cuadrcula de diseo, agrguelo al arrastrarlo desde la
ventana de diseo de la consulta a la cuadrcula de campo, o bien al hacer doble clic en el campo (al
hacer doble clic en el campo, lo agrega automticamente a la siguiente columna vaca en la
cuadrcula de campo). Por ltimo, escriba los criterios en la fila Criterios
Los criterios especificados para distintos campos en la fila Criterios se combinan mediante el
operador Y. En otras palabras, los criterios especificados en los campos Ciudad y FechaNacimiento
se interpretan as:
Ciudad = "Chicago" Y FechaNacimiento < AgregFecha (" aaaa ", -40, Fecha())

1. Los campos Ciudad y FechaNacimiento incluyen criterios.


2. Solo los registros en los que el valor del campo Ciudad sea Chicago cumplirn este criterio.
3. Solo los registros de aquellos que tengan por lo menos 40 aos cumplirn este criterio.

4. Solo los registros que cumplen con ambos criterios se incluirn en el resultado.
Qu sucede si desea que solo se cumpla una de estas condiciones? En otras palabras, si tiene
criterios alternativos, cmo los escribe?
Si tiene criterios alternativos, o dos conjuntos de criterios independientes en los que es suficiente que
se cumpla con un conjunto, use ambos Criterios y las filas o en la cuadrcula de diseo.

1. El criterio Ciudad se especifica en la fila Criterios.


2. El criterio FechaNacimiento se especifica en la fila o.
Los criterios especificados en las filas Criterios y o se combinan con el operador O, tal como se
muestra a continuacin:
Ciudad = "Chicago" O FechaNacimiento < AgregFecha("aaaa", -40, Fecha())
Si necesita especificar ms alternativas, use las filas 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
con frecuencia en lugar de modificar los criterios de bsqueda. Un filtro es un criterio temporal que
cambia el resultado de la consulta sin alterar el diseo de la consulta. Para ms informacin sobre los
filtros, vea el artculo Filtro: limitar el nmero de registros de una vista.

Si los campos de criterios no cambian pero los valores que quiere usar cambian a menudo,
puede crear una consulta de parmetros. Una consulta de parmetros le pide al usuario los valores de
los campos y, despus, usa esos valores para crear los criterios de bsqueda. Para ms informacin
sobre consultas de parmetros, vea el artculo Usar parmetros en consultas e informes.

Criterios para campos de


texto, Memo e hipervnculo
Si desea ver una demo de criterios que puede usar con campos de texto, vea el artculo Vea esto:
especificar criterios para un campo de texto.
Los ejemplos siguientes son para el campo PasRegin de una consulta que se basa en una tabla que
almacena informacin de contactos. El criterio se especifica en la fila Criterios del campo en la
cuadrcula de diseo.

Un criterio que especifica para un campo Hipervnculo se aplica, de manera predeterminada, a la


parte de texto para mostrar del valor del campo. Para especificar los criterios para la parte del destino
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/", donde Tabla1 es el nombre de la tabla que contiene el campo
Hipervnculo, campo1 es el campo Hipervnculo y http://www.microsoft.com es la direccin URL
que desea que coincida.

Para incluir registros


que...

Use este criterio

Resultado de la consulta

Coincidan exactamente
con un valor, como
China

"China"

Devuelvan registros en los que el campo PasRegin tenga el va


China.

Para incluir registros


que...

Use este criterio

Resultado de la consulta

No coincidan con un
valor, como Mxico

No "Mxico"

Devuelvan registros en los que el campo PasRegin tenga un va


distinto de Mxico.

Empiecen por la cadena


especificada, como U

Como U*

Devuelvan registros de todos los pases o regiones cuyos nombr


empiecen por "U", como Uruguay, Uganda, etc.
NOTA Cuando se utiliza en una expresin, el asterisco (*)

representa cualquier cadena de caracteres (tambin se lo denom


"carcter comodn"). Para obtener una lista de este tipo de
caracteres, vea el artculo sobre informacin de referencia sobre
caracteres comodn en Access.

No empiecen por la
cadena especificada,
como U

No como U*

Devuelvan registros de todos los pases o regiones cuyos nombr


empiezan por un carcter distinto de "U".

Contengan la cadena
especificada, como
Corea

Como "*Corea*"

Devuelvan registros de todos los pases o regiones que contenga


cadena "Corea".

No contengan la cadena
especificada, como
Corea

No como "*Corea*"

Devuelvan registros de todos los pases o regiones que no conte


la cadena "Corea".

Acaben con la cadena


especificada, como
"ina"

Como "*ina"

Devuelvan registros de todos los pases o regiones cuyos nombr


acaben con "ina", como China y Argentina.

No acaben con la
cadena especificada,
como "ina"

No como "*ina"

Devuelvan registros de todos los pases o regiones cuyos nombr


no acaben con "ina", como China y Argentina.

Para incluir registros


que...

Use este criterio

Resultado de la consulta

Contengan valores
nulos (o que falten)

Es Nulo

Devuelvan registros en los que no hay ningn valor en el campo

No contengan valores
nulos

No es Nulo

Devuelvan elementos en los que no falta el valor del campo


PrecioUnidad.

Contengan cadenas de
longitud cero

"" (un par de comillas)

Devuelvan registros en los que el campo tiene un valor en blanc


(pero no nulo). Por ejemplo, los registros de ventas realizadas a
departamento podran contener un valor en blanco en el campo
PasRegin.

No contengan cadenas
de longitud cero

No ""

Devuelvan registros en los que el campo PasRegin no tiene un


valor en blanco.

Contengan valores
nulos o cadenas de
longitud cero.

"" O Es Nulo

Devuelvan registros en los que no hay ningn valor en el campo


bien el campo tiene un valor en blanco.

Ni vaco ni en blanco

No es Nulo Y Sin ""

Devuelvan registros en los que el campo PasRegin tiene un va


no en blanco y no nulo.

Vayan a continuacin de
un valor, como Mxico,
si se ordenan
alfabticamente

>= "Mxico"

Devuelvan registros de todos los pases o regiones a partir de


Mxico y posteriores por orden alfabtico.

Estn incluidos en un
intervalo especfico,
como de la A hasta la D

Como "[A-D]*"

Devuelvan registros de pases o regiones cuyos nombres empiez


por las letras "A" a la "D".

Para incluir registros


que...

Use este criterio

Resultado de la consulta

Coincidan con uno de


dos valores, tales como
Estados Unidos o Reino
Unido

"Estados Unidos" O
"Reino Unido"

Devuelvan registros de Estados Unidos y Reino Unido.

Contengan uno de los


valores de una lista

En("Francia", "China",
"Alemania", "Japn")

Devuelvan registros de todos los pases y regiones especificados


la lista.

Contengan ciertos
caracteres en una
posicin especfica en el
valor del campo

Der([PasRegin], 1) =
"y"

Devuelvan registros de todos los pases y regiones cuya ltima l


sea "y".

Satisfagan requisitos de
longitud

Longitud([PasRegin]) >
10

Devuelvan registros de pases y regiones cuyo nombre est form


por ms de 10 caracteres.

Coincidan con un
modelo especfico

Como "Chi??"

Devuelvan registros pases o regiones, como China y Chile, cuy


nombres tengan cinco caracteres y los primeros tres sean "Chi".
NOTA Los caracteres ? y _, cuando se usan en una expresin,

representan un nico carcter, y tambin se denominan caractere


comodn. El carcter _ no puede usarse en la misma expresin c
carcter ?, ni se puede utilizar en una expresin con el carcter
comodn *. Puede que use el carcter comodn _ en una expresi
que tambin contiene el carcter comodn %.

Criterios para campos de


nmero, moneda y
autonumricos

Los ejemplos siguientes son para el campo PrecioUnidad de una consulta que se basa en una tabla
que 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...

Useeste
criterio

Resultado de la consulta

Coincidan
exactamente con un
valor, como 100

100

Devuelvan registros en los que el precio unitario del producto es 100 $.

No coincidan con un
valor, como 1000

No 1000

Devuelvan registros en los que el precio unitario del producto no es 1000 $.

Contengan un valor
menor que otro valor,
como 100

< 100
<= 100

Devuelvan registros en los que el precio unitario 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 $.

Para incluir registros


que...

Useeste
criterio

Resultado de la consulta

Contengan un valor
mayor que otro valor,
como 99,99

>99,99
>=99,99

Devuelvan registros en los que el precio unitario es mayor que 99.99 $ (>99.99). L
segunda expresin muestra los registros en los que el precio por unidad es mayor o
igual que 99.99 $.

Contengan uno de
entre dos valores,
como 20 o 25

20 o 25

Devuelvan registros en los que el precio por unidad es 20 $ o 25 $.

Contengan un valor
que est incluido en
un intervalo

>49,99 Y
<99,99
O bien,
Entre 50
Y 100

Devuelvan registros en los que el precio unitario est entre 49,99 $ y 99,99 $ (pero
incluir estas cantidades).

Contengan un valor
que est fuera de un
intervalo

<50 O
>100

Devuelvan registros en los que el precio por unidad no est entre 50 $ y 100 $.

Contengan uno entre


varios valores

En(20,
25, 30)

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

Contengan un valor
que acabe con los
dgitos especificados

Como
"*4,99"

Devuelvan 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 cualqui

nmero de caracteres, y tambin se denominan caracteres comodn. El carcter %


se puede usar en la misma expresin que el carcter *, ni se puede usar en una
expresin con el carcter comodn ? . Puede que use el carcter comodn % en una
expresin que tambin contiene el carcter comodn _.

Para incluir registros


que...

Useeste
criterio

Resultado de la consulta

Contengan valores
nulos (o que falten)

Is Null

Devuelvan registros en los que no se ha especificado ningn valor en el campo


PrecioUnidad.

Contengan valores no
nulos

No es
Nulo

Devuelvan registros en los que no falta el valor del campo PrecioUnidad.

Criterios para campos de


fecha y hora
Los ejemplos siguientes son para el campo FechaPedido en una consulta basada en una tabla que
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...

Use este criterio

Resultado de la consulta

Coincidan exactamente con


un valor, como 02/02/2006

#02/02/2006#

Devuelvan registros de transaccio


que tuvieron lugar el 2 de febrero
2006. Recuerde rodear los valore
fecha con el carcter # para que
Access pueda distinguir entre val
de fecha y cadenas de texto.

No coincidan con un valor,


como 02/02/2006

No #02/02/2006#

Devuelvan registros de transaccio


que tuvieron lugar cualquier da
menos el 2 de febrero de 2006.

Contengan valores previos


a una fecha determinada,
como 02/02/2006

< #02/02/2006#

Devuelvan registros de transaccio


que tuvieron lugar despus del 2
febrero de 2006.

Si desea ver las transacciones que


tuvieron lugar en esta fecha o ant
ella, use el operador <= en vez de
operador <.

Contengan valores
posteriores a una fecha
determinada, como
02/02/2006

> #02/02/2006#

Devuelvan registros de transaccio


que tuvieron lugar antes del 2 de
febrero de 2006.

Si desea ver las transacciones que


tuvieron lugar en esta fecha o des
de ella, use el operador >= en vez
operador >.

Contengan valores
comprendidos en un
intervalo de fechas

>#02/02/2006# y <#04/02/2006#

Devuelvan los registros en los qu


transacciones tuvieron lugar entre
de febrero de 2006 y el 4 de febre
de 2006.

Para incluir registros


que...

Use este criterio

Resultado de la consulta

Tambin puede usar el


operador Entre para filtrar segn
intervalo de valores, incluidos los
extremos. Por ejemplo, Entre
#02/02/2006# y #04/02/2006# es
mismo que >=#02/02/2006# y
<=#04/02/2006#.

Contengan valores que


estn fuera de un intervalo

<#02/02/2006# o >#04/02/2006#

Devuelvan los registros en los qu


transacciones tuvieron lugar ante
2 de febrero de 2006 o despus d
de febrero de 2006.

Contengan uno de dos


valores, como 02/02/2006 o
03/02/2006

#02/02/2006# o #03/02/2006#

Devuelvan registros de transaccio


que tuvieron lugar el 2 de febrero
2006 o el 3 de febrero de 2006.

Contengan uno entre varios


valores

En (#01/02/2006#, #01/03/2006#, #01/04/2006#)

Devuelvan los registros en los qu


transacciones tuvieron lugar el 1
febrero de 2006, el 1 de marzo de
2006 o el 1 de abril de 2006.

Contengan una fecha de un


mes especfico
(independientemente del
ao), como diciembre

DatePart("m", [SalesDate]) = 12

Devuelvan registros en los que la


transacciones tuvieron lugar en
diciembre de cualquier ao.

Contengan una fecha de un


trimestre especfico
(independientemente del
ao), como el primer
trimestre

DatePart("q", [SalesDate]) = 1

Devuelvan registros en los que la


transacciones tuvieron lugar en el
primer trimestre de cualquier ao

Para incluir registros


que...

Use este criterio

Resultado de la consulta

Contengan la fecha en
curso

Date()

Devuelvan registros de transaccio


que tuvieron lugar el da actual. S
hoy es 02/02/2006, ver los regis
en los que el campo FechaPedido
definido en 2 de febrero de 2006.

Contengan la fecha de ayer

Date()-1

Devuelvan registros de transaccio


que tuvieron lugar el da anterior
da actual. Si hoy es 02/02/2006,
los registros del 1 de febrero de 2

Contengan la fecha de
maana

Date() + 1

Devuelvan registros de transaccio


que tuvieron lugar el da posterio
da actual. Si hoy es 02/02/2006,
los registros del 3 de febrero de 2

Contengan fechas
correspondientes a la
semana en curso

DatePart("ww", [SalesDate]) = DatePart("ww",


Date()) and Year( [SalesDate]) = Year(Date())

Devuelvan registros de transaccio


que tuvieron lugar durante la sem
actual. La semana empieza el
domingo y acaba el sbado.

Contengan fechas
correspondientes a la
semana anterior

Year([SalesDate])* 53 + DatePart("ww", [SalesDate])


= Year(Date())* 53 + DatePart("ww", Date()) - 1

Devuelvan registros de transaccio


que tuvieron lugar durante la sem
pasada. La semana empieza el
domingo y acaba el sbado.

Contengan fechas
correspondientes a la
semana siguiente

Year([SalesDate])* 53+DatePart("ww", [SalesDate])


= Year(Date())* 53+DatePart("ww", Date()) + 1

Devuelvan registros de transaccio


que tendrn lugar la semana sigui
La semana empieza el domingo y
acaba el sbado.

Contengan una fecha que

Between Date() and Date()-6

Devuelvan registros de transaccio

Para incluir registros


que...

Use este criterio

entre dentro de los ltimos


7 das

Resultado de la consulta

que tuvieron lugar durante los lt


7 das. Si hoy es el 02/02/2006, v
los registros correspondientes al
intervalo comprendido entre el 24
enero de 2006 y el 2 de febrero d
2006.

Contengan una fecha del


mes en curso

Year([SalesDate]) = Year(Now()) And


Month([SalesDate]) = Month(Now())

Devuelvan registros del mes actu


hoy es 02/02/2006, ver los regis
de febrero de 2006.

Contengan una fecha del


mes anterior

Year([SalesDate])* 12 + DatePart("m", [SalesDate])


= Year(Date())* 12 + DatePart("m", Date()) - 1

Devuelvan registros del mes ante


Si hoy es 02/02/2006, ver los
registros de enero de 2006.

Contengan una fecha del


mes siguiente

Year([SalesDate])* 12 + DatePart("m", [SalesDate])


= Year(Date())* 12 + DatePart("m", Date()) + 1

Devuelvan registros del mes


siguiente. Si hoy es 02/02/2006, v
los registros de marzo de 2006.

Contengan una fecha que


entre dentro de los ltimos
30 o 31 das

Between Date( ) And DateAdd("M", -1, Date( ))

Registros de ventas de un mes. Si


es 02/02/2006, ver los registros
perodo entre el 2 de enero de 200
el 2 de febrero de 2006

Contengan una fecha del


trimestre en curso

Year([SalesDate]) = Year(Now()) And DatePart("q",


Date()) = DatePart("q", Now())

Devuelvan registros del trimestre


curso. Si hoy es 02/02/2006, ver
registros correspondientes al prim
trimestre de 2006.

Contengan una fecha del


trimestre anterior

Year([SalesDate])*4+DatePart("q",[SalesDate]) =
Year(Date())*4+DatePart("q",Date())- 1

Devuelvan registros del trimestre


anterior. Si hoy es 02/02/2006, ve
los registros correspondientes al

Para incluir registros


que...

Use este criterio

Resultado de la consulta

ltimo trimestre de 2005.

Contengan una fecha del


trimestre siguiente

Year([SalesDate])*4+DatePart("q",[SalesDate]) =
Year(Date())*4+DatePart("q",Date())+1

Devuelvan registros del trimestre


siguiente. Si hoy es 02/02/2006, v
los registros correspondientes al
segundo trimestre de 2006.

Contengan una fecha


correspondiente al ao en
curso

Year([SalesDate]) = Year(Date())

Devuelvan registros del ao en cu


Si hoy es 02/02/2006, ver los
registros del ao 2006.

Contengan una fecha del


ao anterior

Year([SalesDate]) = Year(Date()) - 1

Devuelvan registros de transaccio


que tuvieron lugar durante el ao
pasado. Si hoy es 02/02/2006, ve
los registros del ao 2005.

Contengan una fecha del


ao siguiente

Year([SalesDate]) = Year(Date()) + 1

Devuelvan registros de transaccio


con fecha del ao siguiente. Si ho
02/02/2006, ver los registros del
2007.

Contengan una fecha


comprendida entre el 1 de
enero y hoy (registros ao
hasta la fecha)

Year([SalesDate]) = Year(Date()) and


Month([SalesDate]) <= Month(Date()) and
Day([SalesDate]) <= Day (Date())

Devuelvan registros de transaccio


fechados entre el 1 de enero del a
en curso y hoy. Si hoy es 02/02/2
ver los registros del perodo entr
1 de enero de 2006 y el 02/02/200

Contengan una fecha ya


pasada

< Date()

Devuelvan registros de transaccio


que tengan lugar despus de hoy.

Contengan una fecha del

> Date()

Devuelvan registros de transaccio

Para incluir registros


que...

Use este criterio

futuro

Resultado de la consulta

que tendrn lugar despus de hoy

Filtren valores nulos (o que


falten)

Is Null

Devuelvan registros en los que fa


fecha de la transaccin.

Filtren valores no nulos

Is Not Null

Devuelvan registros en los que se


conozca la fecha de la transaccin

Criterios para los dems


campos
Campos S/No En la fila Criterios, escriba S para incluir registros en los que la casilla est
activada. Escriba Nopara incluir registros en los que la casilla no est activa.
Datos adjuntos En la fila Criterios, escriba Es NULL para incluir registros que no contienen
ningn dato adjunto. Escriba No es NULL para incluir registros que contengan datos adjuntos.
Campos de bsqueda Hay dos tipos de campos de bsqueda: aquellos que buscan valores en un
origen de datos existente (usando una clave externa), y aquellos que se basan en una lista de valores
especificados cuando se crea 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 en otros campos de texto.
Los criterios que puede usar en un campo de bsqueda basado en valores de un origen de datos
dependen del tipo de datos de la clave externa, en lugar del tipo de datos de los datos que se buscan.
Por ejemplo, puede tener un campo de bsqueda en el que aparece Nombre del empleado, pero usa
una clave externa que es del tipo de datos Nmero. Dado que el campo almacena un nmero en lugar
de texto, use los criterios que se adecen a nmeros; es decir, >2.
Si no conoce el tipo de datos de la clave externa, puede inspeccionar la tabla de origen en la vista
Diseo para determinar los tipos de datos del campo. Para ello:
1.

Busque la tabla de origen en el Panel de navegacin.

2.

Abra la tabla en la vista Diseo al:

Hacer clic en la tabla y, despus, presionar CTRL+ENTRAR

Hacer clic con el botn derecho en la tabla y, despus, hacer clic en Vista Diseo.
3.

El tipo de datos de cada campo se muestra en la columna Tipo de datos de la cuadrcula de


diseo de la tabla.
Campos multivalor Los datos en un campo multivalor se almacenan como filas en una tabla
oculta que crea Office Access 2007 y rellena para representar el campo. En la vista Diseo de la
consulta, esta se representa en la Lista de campos mediante un campo expandible. Para usar
criterios para un campo multivalor, proporcione criterios para una sola fila de la tabla oculta. Para
ello:

1.

Cree una consulta que contenga el campo multivalor y brala en la vista Diseo.

2.

Expanda el campo multivalor al hacer clic en el signo ms (+) situado junto a l. Si el


campo ya est expandido, se trata de un signo menos (-). Justo debajo del nombre del campo, ver
un campo que representa un valor nico del campo multivalor. Este campo tendr el mismo nombre
que el campo multivalor, con la cadena .Value anexa.

3.

Arrastre el campo multivalor y su campo de valor nico para separar las columnas de la
cuadrcula de diseo. Si desea ver solo el campo multivalor completo en los resultados, desactive la
casilla Mostrar para el campo de valor nico.

4.

Escriba los criterios en la fila Criterios para el campo de valor nico, con los criterios que
sean adecuados para el tipo de datos que representan los valores.

5.

Cada valor en el campo multivalor ser evaluado individualmente mediante los criterios que
especifique. Por ejemplo, puede que tenga un campo multivalor que almacena una lista de nmeros.
Si proporciona los criterios >5 Y <3, todos los registros en los que no haya al menos un valor mayor
que 5 y un valor menor que 3 coincidirn.

Potrebbero piacerti anche