SlideShare une entreprise Scribd logo
1  sur  62
Télécharger pour lire hors ligne
“SQL COMO CÓDIGO DE PROGRAMACIÓN PARA
MICROSOFT ACCESS 2010”
2
DEDICATORIA
A mi familia, porque creyeron en mí y porque me
impulsaron a seguir triunfando, dándome ejemplos
dignos de superación y entrega.
3
ÍNDICE
1. ¿Qué es SQL? 04
2. Cláusulas SQL básicas: SELECT, FROM y WHERE 09
3. Ordenar los resultados: ORDER BY BY 12
4. Trabajar con datos resumidos: GROUP BY y HAVING 13
5. Combinar los resultados de la consulta: UNION 15
6. Más información acerca de la cláusula SELECT 18
7. Más información acerca de la cláusula FROM 22
8. Más información acerca de la cláusula WHERE 28
9. BIBLIOGRAFÍA
4
INTRODUCCIÓN A ACCESS SQL
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 computación que se asemeja al inglés 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
además de entender cómo solucionar una consulta que no devuelve los
resultados deseados.
Más información acerca de la cláusula WHERE
5
¿Qué es SQL?
SQL es un lenguaje de computación que sirve para trabajar con conjuntos
de datos y las relaciones entre ellos. Los programas de bases de datos
relacionales, como Microsoft Office Access, usan SQL para trabajar con
datos. A diferencia de muchos lenguajes de computación, SQL no es difícil
de leer y entender, incluso para un usuario inexperto. Al igual que muchos
lenguajes de computación, SQL es un estándar internacional reconocido
por organismos de estándares, como ISO y ANSI.
“SQL no es difícil de leer y entender, incluso para un usuario inexperto.”
SQL se usa para describir conjuntos de datos que pueden ayudarle a
responder preguntas. Cuando usa SQL, debe emplear la sintaxis correcta.
La sintaxis es el conjunto de reglas mediante las cuales se combinan los
elementos de un lenguaje correctamente. La sintaxis de SQL se basa en la
sintaxis del inglés y usa muchos de los mismos elementos que la sintaxis
de Visual Basic para Aplicaciones (VBA).
Por ejemplo, una simple instrucción SQL que recupera una lista de los
apellidos de contactos cuyo nombre es María podría ser similar a esto:
6
SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';
NOTA SQL no se usa solo para manipular datos, sino también para crear
y modificar el diseño 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 definición de datos (DDL). En
este tema no se describe el DDL. Para obtener más información, vea el
tema acerca de cómo crear o modificar tablas o índices mediante una
consulta de definición de datos.
Instrucciones SELECT
Para describir un conjunto de datos mediante SQL, escriba una instrucción
SELECT. Una instrucción SELECT contiene una descripción completa del
conjunto de datos que desea obtener de una base de datos. Incluye lo
siguiente:
 Qué tablas contienen los datos.
 Cómo se relacionan los datos de orígenes diferentes.
 Qué campos o cálculos proporcionarán los datos.
 Criterios que los datos deben cumplir para ser incluidos.
 Si se deben ordenar los datos y, en caso de ser así, cómo deben
ordenarse.
7
Cláusulas SQL
Al igual que una frase, una instrucción SQL tiene cláusulas. Cada cláusula
realiza una función para la instrucción SQL. Algunas cláusulas son
obligatorias en una instrucción SELECT. En la siguiente tabla se enumeran
las cláusulas SQL más comunes.
CLÁUSULA
SQL
FUNCIÓN OBLIGATORIA
SELECT Muestra una lista de los campos que
contienen datos de interés.
Sí
FROM Muestra las tablas que contienen los
campos de la cláusula SELECT.
Sí
WHERE 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
GROUP BY En una instrucción SQL que contiene
funciones de agregado, muestra los
campos que no se resumen en la cláusula
SELECT.
Solo si están estos
campos
HAVING En una instrucción SQL que contiene
funciones de agregado, especifica las
condiciones que se aplican a los campos
que se resumen en la instrucción SELECT.
No
8
Términos de SQL
Cada cláusula SQL consta de términos, comparables a diferentes partes de
la oración. En la siguiente tabla se enumeran los tipos de términos de SQL.
TÉRMINO
DE SQL
PARTE DE LA
ORACIÓN
COMPARABLE
DEFINICIÓN EJEMPLO
identificador sustantivo Nombre que se usa
para identificar un
objeto de la base de
datos, como el nombre
de un campo.
Clientes.[Número
de teléfono]
operador verbo o adverbio Palabra clave que
representa o modifica
una acción.
AS
constante sustantivo Valor que no cambia,
como un número o un
valor nulo (NULL).
42
expresión adjetivo Combinación de
identificadores,
operadores, constantes
y funciones que se
evalúa como un valor
único.
> =
Productos.[Precio
por unidad]
9
CLÁUSULAS SQL BÁSICAS: SELECT, FROM Y WHERE
Una instrucción SQL tiene el formato general:
SELECT field_1
FROM table_1
WHERE criterion_1;
NOTAS
 Access pasa por alto los saltos de línea en una instrucción SQL. Sin
embargo, conviene usar una línea para cada cláusula para que las
instrucciones SQL sean más fáciles 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 cláusula o
solo en una línea al final de la instrucción SQL.
Un ejemplo en Access
A continuación se muestra el aspecto que podría tener en Access una
instrucción SQL para una consulta de selección simple:
10
Cláusula SELECT
Cláusula FROM
Cláusula WHERE
En este ejemplo de instrucción SQL, se indica "Seleccionar los datos
almacenados en los campos Dirección de correo electrónico y Empresa de
la tabla llamada Contactos, específicamente aquellos registros en los
cuales el valor del campo Ciudad sea Seattle".
A continuación se incluye un ejemplo y se describe cada cláusula para
mostrar cómo funciona la sintaxis de SQL.
CLÁUSULA SELECT:
SELECT [E-mail Address], Company
Ésta es la cláusula SELECT. Se compone de un operador (SELECT) seguido
de dos identificadores ([Dirección de correo electrónico] y Empresa).
Si un identificador contiene espacios o caracteres especiales (como
"Dirección de correo electrónico"), se debe escribir entre corchetes.
Una cláusula 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.
11
La cláusula SELECT siempre aparece antes que la cláusula FROM en una
instrucción SELECT.
CLÁUSULA FROM:
FROM Contacts
Ésta es la cláusula FROM. Se compone de un operador (FROM) seguido de
un identificador (Contactos).
Una cláusula FROM no enumera los campos que se van a seleccionar.
CLÁUSULA WHERE:
WHERE City="Seattle"
Ésta es la cláusula WHERE. Se compone de un operador (WHERE) seguido
de un identificador (Ciudad="Seattle").
NOTA A diferencia de las cláusulas SELECT y FROM, la cláusula WHERE
no es un elemento obligatorio en una instrucción SELECT.
Puede realizar muchas de las acciones que SQL permite mediante las
cláusulas SELECT, FROM y WHERE. En las secciones incluidas al final de
este artículo encontrará más información acerca de cómo usar estas
cláusulas: Más información acerca de la cláusula SELECT, FROM, WHERE.
12
ORDENAR LOS RESULTADOS: ORDER BY
Al igual que Microsoft Office Excel, Access permite ordenar los resultados
de la consulta en una hoja de datos. Además, puede especificar en la
consulta cómo desea ordenar los resultados al ejecutar la consulta
mediante una cláusula ORDER BY. Si usa una cláusula ORDER BY, ésta será
la última cláusula en la instrucción SQL.
Una cláusula 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 ordenación.
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 además por el valor
indicado en el campo Dirección de correo electrónico en orden
ascendente. La cláusula ORDER BY podría 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.
13
TRABAJAR CON DATOS RESUMIDOS: GROUP BY Y HAVING:
En ocasiones, es posible que desee trabajar con datos resumidos, como las
ventas totales de un mes o los artículos más caros del inventario. Para ello,
debe aplicar una función de agregado a un campo en la cláusula SELECT.
Por ejemplo, si desea que la consulta muestre la cantidad de direcciones
de correo electrónico para cada una de las empresas, la cláusula SELECT
debe ser similar 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 expresión que desea emplear.
ESPECIFICAR CAMPOS QUE NO SE USAN EN UNA FUNCIÓN DE
AGREGADO: CLÁUSULA GROUP BY:
Al usar las funciones de agregado, normalmente debe crear una cláusula
GROUP BY. Una cláusula GROUP BY muestra una lista de todos los campos
a los que no se aplica una función de agregado. Si aplica las funciones de
agregado a todos los campos de una consulta, no es necesario crear la
cláusula GROUP BY.
Una cláusula GROUP BY se incluye inmediatamente después de la cláusula
WHERE o la cláusula FROM si no hay una cláusula WHERE. La cláusula
14
GROUP BY muestra una lista de los campos que aparecen en la cláusula
SELECT.
Por ejemplo, siguiendo con el ejemplo anterior, si la cláusula SELECT aplica
una función de agregado a [Dirección de correo electrónico] pero no a
Empresa, la cláusula GROUP BY sería similar a la siguiente:
GROUP BY Company
LIMITAR LOS VALORES DE AGREGADO MEDIANTE LOS CRITERIOS DE
AGRUPACIÓN: CLÁUSULA HAVING:
Si desea usar criterios para limitar sus resultados, pero el campo al que
desea aplicar el criterio se usa en una función de agregado, no puede usar
una cláusula WHERE. En su lugar, debe usar una cláusula HAVING. La
cláusula HAVING funciona como la cláusula WHERE, pero se usa para los
datos agregados.
Por ejemplo, suponga que usa la función COUNT (que devuelve un
número de filas) con el primer campo de la cláusula SELECT:
SELECT COUNT([E-mail Address]), Company
Si desea que la consulta limite los resultados según el valor de la función
COUNT, no puede usar un criterio para dicho campo en la cláusula
WHERE. Por el contrario, debe incluir el criterio en una cláusula HAVING.
Por ejemplo, si solo desea que la consulta indique las filas en caso de que
15
exista más de una dirección de correo electrónico asociada con la
empresa, la cláusula HAVING debería ser similar a la siguiente:
HAVING COUNT([E-mail Address])>1
NOTA Una consulta puede incluir una cláusula WHERE y una cláusula
HAVING: los criterios para los campos que no se usan en una función de
agregado se corresponden con la cláusula WHERE y los criterios de los
campos que se usan en las funciones de agregado se corresponden con la
cláusula HAVING.
COMBINAR LOS RESULTADOS DE LA CONSULTA: UNION:
Si desea revisar todos los datos obtenidos en conjunto de varias consultas
de selección 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 número 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 número
de campos que cada una de las instrucciones de selección.
16
NOTA A efectos de una consulta de unión, los tipos de datos Texto y
Número son compatibles.
Si usa el operador UNION, también puede usar la palabra clave ALL para
especificar si los resultados de la consulta deben incluir las filas duplicadas,
si existe alguna.
La sintaxis básica de SQL para una consulta de unión 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
garantía del servicio o de garantía del producto, y si el producto o servicio
se ofrece de forma exclusiva. Aunque en la tabla Productos se almacena
información de garantía del producto y en la tabla Servicios se almacena
información de garantía del servicio, la información básica es la misma (si
un producto o servicio determinado incluye una garantía de calidad).
17
Puede usar una consulta de unión, como la que se muestra a continuación,
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;
Para obtener más información acerca de cómo combinar instrucciones
SELECT mediante el operador UNION, vea el tema sobre cómo combinar
los resultados de varias consultas de selección mediante una consulta de
unión.
18
MÁS INFORMACIÓN ACERCA DE LA CLÁUSULA SELECT
En una instrucción SELECT, la cláusula SELECT incluye los campos que
contienen los datos que desea usar.
Usar corchetes para incluir los identificadores
Puede escribir el nombre entre corchetes para incluir el nombre de un
campo en la cláusula SELECT. Si el nombre no contiene espacios ni
caracteres especiales (como signos de puntuación), los corchetes son
opcionales. Si el nombre contiene espacios o caracteres especiales, debe
usar los corchetes.
SUGERENCIA Un nombre que contiene espacios resulta más fácil de leer
y le permite ahorrar tiempo cuando diseña formularios e informes, pero es
19
posible que luego deba escribir más al especificar instrucciones SQL. Debe
tener en cuenta este dato cuando asigne un nombre a los objetos de la
base de datos.
Si la instrucción SQL tiene dos o más campos con el mismo nombre, debe
agregar el nombre del origen de datos de cada campo al nombre del
campo en la cláusula SELECT. Debe usar el mismo nombre para los
orígenes de datos que ha usado en la cláusula FROM.
Seleccionar todos los campos
Si desea incluir todos los campos de un origen de datos, puede enumerar
todos los campos individualmente en la cláusula SELECT o bien puede usar
el carácter comodín asterisco (*). Si 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 asegurarse de
que la consulta se actualizará en caso de que se agreguen nuevos campos
al origen de datos.
Puede usar el asterisco con uno o más orígenes de datos en una
instrucción SQL. Si usa el asterisco y hay varios orígenes de datos, debe
incluir el nombre del origen de datos junto con el asterisco para que
Access pueda determinar desde qué origen de datos debe incluir todos los
campos.
20
Por ejemplo, suponga que desea seleccionar todos los campos de la tabla
Pedidos, pero solo la dirección de correo electrónico de la tabla de
Contactos. La cláusula SELECT podría ser similar a la siguiente:
SELECT Orders.*, Contacts.[E-mail Address]
NOTA Realice un seguimiento cada vez que use el asterisco. Si más
adelante se agregan al origen de datos nuevos campos que no estaban
previstos, los resultados de la consulta podrían no ser los deseados.
Seleccionar valores distintos
Si sabe que la instrucción seleccionará datos redundantes y prefiere ver
solo los valores distintos, puede usar la palabra clave DISTINCT en la
cláusula SELECT. Por ejemplo, suponga que cada uno de los clientes
representa varios intereses diferentes y algunos usan el mismo número de
teléfono. Si desea asegurarse de que solo se vea cada uno de los números
de teléfono una vez, la cláusula SELECT debe ser similar a la siguiente:
SELECT DISTINCT [txtCustomerPhone]
Usar nombres sustitutos para los campos o expresiones: palabra clave
AS
Puede cambiar la etiqueta que se muestra para cualquier campo en la vista
de hoja de datos mediante la palabra clave AS y un alias de campo en la
cláusula SELECT. Un alias de campo es un nombre que se asigna a un
21
campo en una consulta para que las consultas sean más fáciles de leer. Por
ejemplo, si desea seleccionar datos de un campo llamado txtTelClien y el
campo contiene los números de teléfono de los clientes, puede mejorar la
legibilidad de los resultados mediante el uso de un alias de campo en la
instrucción SELECT de la siguiente manera:
SELECT [txtCustPhone] AS [Customer Phone]
NOTA Debe usar un alias de campo si se usa una expresión en una
cláusula SELECT.
Seleccionar mediante una expresión
En ocasiones, es posible que necesite realizar cálculos a partir de los datos
o recuperar solo una parte de los datos de un campo. Por ejemplo,
suponga que desea obtener el año de nacimiento de los clientes a partir
de los datos del campo Fecha de nacimiento de la base de datos. La
cláusula SELECT puede ser similar a la siguiente:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Esta expresión consta de la función DatePart y dos argumentos ("yyyy"
(constante) y [BirthDate] (identificador)).
Puede usar cualquier expresión válida como campo siempre que la
expresión genere un valor único al especificar un valor de entrada único.
22
MÁS INFORMACIÓN ACERCA DE LA CLÁUSULA FROM
En una instrucción SELECT, la cláusula FROM especifica las tablas o
consultas que contienen los datos que usará la cláusula SELECT.
Supongamos que desea saber el número de teléfono de un cliente
específico. Si la tabla que contiene el campo que almacena estos datos se
llama tblCliente, la cláusula FROM sería similar a:
FROM tblCustomer
Usar corchetes para incluir los identificadores
Puede escribir el nombre entre corchetes. Si el nombre no contiene
espacios ni caracteres especiales (como signos de puntuación), los
23
corchetes son opcionales. Si el nombre contiene espacios o caracteres
especiales, debe usar los corchetes.
SUGERENCIA Un nombre que contiene espacios resulta más fácil de leer
y le permite ahorrar tiempo cuando diseña formularios e informes, pero es
posible que luego deba escribir más al especificar instrucciones SQL. Debe
tener en cuenta este dato cuando asigne un nombre a los objetos de la
base de datos.
Usar nombres sustitutos para orígenes de datos
Puede usar un nombre diferente para hacer referencia a un origen de
datos en una instrucción SELECT mediante un alias de tabla en la cláusula
FROM. Un alias de tabla es el nombre que se asigna a un origen de datos
en una consulta si se usa una expresión como origen de datos o para
facilitar la escritura y lectura de la instrucción SQL. Esto puede ser
especialmente útil si el nombre del origen de datos es largo o difícil de
escribir, sobre todo si hay varios campos que tienen el mismo nombre en
diferentes tablas.
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 cláusula SELECT puede ser similar a la siguiente:
SELECT [tblCustomer].[ID], [tblOrder].[ID]
24
Al usar alias de tabla en la cláusula FROM, puede facilitar la escritura de la
consulta. Así, la cláusula FROM podría ser similar a:
FROM [tblCustomer] AS [C], [tblOrder] AS [O]
A continuación, puede usar estos alias de tabla en la cláusula SELECT del
modo siguiente:
SELECT [C].[ID], [O].[ID]
NOTA Si se usa un alias de tabla, puede hacer referencia al origen de
datos en la instrucción SQL mediante el alias o mediante el nombre
completo del origen de datos.
Combinar datos relacionados
Cuando necesite combinar pares de registros de dos orígenes de datos en
un registro único en los resultados de una consulta, puede realizar una
combinación. Una combinación es una operación de SQL que especifica
cómo se relacionan dos orígenes de datos y si se deben incluir los datos
de un origen en caso de no haber ningún dato correspondiente del otro
origen.
Para combinar la información de dos orígenes de datos, debe realizar una
operación de combinación en el campo que tienen en común. Si los
valores almacenados en este campo coinciden, los datos de los registros
se combinan en los resultados.
25
Además de la combinación de datos, también se puede usar una
combinación para especificar si se incluirán registros de cualquier tabla en
caso de no haber ningún 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 más 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 ningún
registro correspondiente en la otra tabla, la cláusula FROM puede ser
similar a la siguiente (se ha agregado un salto de línea para mejorar la
legibilidad):
FROM [tblCustomer] INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]
En Microsoft Office Access, las combinaciones se producen en la cláusula
FROM de una instrucción SELECT. Hay dos tipos de combinaciones:
combinaciones internas y combinaciones externas. En las siguientes
secciones se explican estos dos tipos de combinaciones.
26
Combinaciones internas
Las combinaciones internas son el tipo de combinación más común.
Cuando se ejecuta una consulta con una combinación interna, los únicos
registros que se incluyen en los resultados de la consulta son los registros
en los que existe un valor común en las dos tablas combinadas.
Una combinación interna tiene la siguiente sintaxis (se ha agregado un
salto de línea para mejorar la legibilidad):
FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2
En la siguiente tabla se describen las diferentes partes de una operación
INNER JOIN.
PARTE DESCRIPCIÓN
tabla1,
tabla2
Nombres de las tablas cuyos registros se combinan.
campo1,
campo2
Nombres de los campos que se combinan. Si no son numéricos,
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 comparación relacional: "=", "<", ">",
"<=", ">=" o "<>".
27
Combinaciones externas
Las combinaciones externas son similares a las combinaciones internas
porque indican a una consulta cómo combinar información a partir de dos
orígenes. Son diferentes ya que también especifican si se incluirán datos
donde no hay ningún valor común. Las combinaciones externas son
direccionales: se puede especificar si incluir todos los registros del primer
origen de datos especificado en la combinación (denominada
combinación izquierda o left join) o incluir todos los registros del segundo
origen de datos en la combinación (denominada combinación derecha o
right join).
Una combinación 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 DESCRIPCIÓN
tabla1,
tabla2
Nombres de las tablas cuyos registros se combinan.
campo1,
campo2
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.
opcomp Cualquier operador de comparación relacional: "=", "<", ">",
"<=", ">=" o "<>".
28
MÁS INFORMACIÓN ACERCA DE LA CLÁUSULA WHERE
Si desea usar datos para limitar el número de registros devueltos en una
consulta, puede usar criterios de consulta en la cláusula WHERE de una
instrucción SELECT. Un criterio de consulta es similar a una
fórmula: consiste en una cadena que puede incluir referencias de campos,
operadores y constantes. Los criterios de consulta son un tipo de
expresión.
En la siguiente tabla se muestran algunos criterios de ejemplo y se explica
cómo funcionan.
29
CRITERIOS DESCRIPCIÓN
>25 y <50 Este criterio se aplica a un campo de número, como
Precios o UnidadesenExistencias. Incluye solo
aquellos registros en los que el campo contiene un
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 resultado de la
consulta se incluyen únicamente los registros en los
cuales la cantidad de años entre la fecha de
nacimiento de una persona y la fecha actual es
superior a 30.
Es nulo Este criterio se puede aplicar a cualquier tipo de
campo para mostrar los registros en los que el valor
de campo es nulo.
Tal como se observa en la tabla anterior, los criterios pueden ser muy
distintos entre sí según el tipo de datos del campo al que se apliquen y los
requisitos específicos en cada caso. Algunos criterios son sencillos y usan
operadores básicos y constantes. Otros son complejos y usan funciones y
operadores especiales, e incluyen referencias de campo.
30
IMPORTANTE Si se usa un campo con una función de agregado, no
podrá especificar criterios para dicho campo en una cláusula WHERE. En su
lugar, debe usar una cláusula HAVING para especificar criterios para los
campos agregados. Para obtener más información, vea la sección Trabajar
con datos resumidos: GROUP BY y HAVING.
Sintaxis de la cláusula WHERE
Una cláusula WHERE tiene la siguiente sintaxis básica:
WHERE field = criterion
Por ejemplo, suponga que desea saber el número de teléfono de un
cliente, pero solo recuerda que el apellido del cliente es Bagel. En lugar de
buscar en todos los números de teléfono de la base de datos, puede usar
una cláusula WHERE para limitar los resultados y encontrar más fácilmente
el número de teléfono deseado. Si los apellidos se almacenan en un
campo denominado Apellidos, la cláusula WHERE será similar a la
siguiente::
WHERE [LastName]='Bagel'
NOTA No es necesario basar los criterios de la cláusula WHERE en la
equivalencia de valores. Puede usar otros operadores de comparación,
como mayor que (>) o menor que (<). Por ejemplo, WHERE [Precio]>100.
31
Usar la cláusula WHERE para combinar orígenes de datos
En ocasiones, es posible que necesite combinar orígenes 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 Número y es posible que desee comparar dicho campo con un
campo de otra tabla que tiene el tipo de datos Texto.
No puede crear una unión entre campos que tienen distintos tipos de
datos. Para combinar los datos de dos orígenes de datos basados en los
valores de los campos que tienen distintos tipos de datos, debe crear una
cláusula 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 la tabla2,
pero solo si los datos del campo1 (campo de texto de la tabla1) coinciden
con los datos del campo2 (campo numérico de la tabla2). La cláusula
WHERE será similar a la siguiente:
WHERE field1 LIKE field2
Para obtener más información acerca de cómo crear un criterio para usar
una cláusula WHERE, vea el tema de ejemplos de criterios de consulta.
Ejemplos de criterios de consulta
Mostrar todo
32
Cuando se desea limitar los resultados de una consulta basada en los
valores de un campo, se usan los criterios de consulta. Un criterio de
consulta es una expresión que Access compara con los valores de los
campos de consulta para determinar si se va a incluir o no el registro que
contiene cada uno de los valores. Por ejemplo, = "Chicago" es una
expresión que Access puede comparar con los valores de un campo de
texto de una consulta. Si el valor para ese criterio en un registro
determinado es "Chicago", Access incluye el registro en los resultados de
la consulta.
Este tema contiene varios ejemplos de criterios de consulta. En el tema, se
supone que ya sabe diseñar consultas de selección sencillas.
Para obtener más información acerca de las consultas,
33
TRABAJO CON CRITERIOS
INFORMACIÓN GENERAL:
Un criterio es similar a una fórmula. Es una cadena que puede estar
formada por referencias de campo, operadores y constantes. Los criterios
de consulta también se conocen como expresiones.
En el siguiente vídeo, se muestra cómo usar los criterios para un campo de
texto.
En la tabla siguiente, se muestran algunos ejemplos de criterios y se
explica su funcionamiento.
34
CRITERIO DESCRIPCIÓN
>25 y <50 Este criterio se aplica a campos Número, 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",
[FechaNacimiento],
Fecha()) > 30
Este criterio se aplica a campos Fecha/Hora, como
FechaNacimiento. En el resultado de la consulta, sólo
se incluyen los registros en los que el número de
años entre la 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 que se muestren los registros en los que
el valor de campo sea nulo.
Los criterios pueden ser muy distintos entre sí. Algunos criterios son
sencillos y usan operadores básicos (como "<) y constantes (como "50").
Otros son complejos y usan funciones ("como DifFecha") o referencias de
campo (como "[FechaNacimiento]"). Este tema proporciona varios
ejemplos de criterios usados con frecuencia, agrupados por el tipo de
35
datos al que se aplican. Puede usar los ejemplos proporcionados en este
tema como punto de partida para especificar sus propios criterios.
Para agregar un criterio a una consulta, debe abrirla en la vista Diseño.
Después, identifique los campos para los que desea especificar criterios. Si
un campo para el cual desea especificar un criterio no está aún en la
cuadrícula de diseño, agréguelo arrastrándolo desde la ventana de diseño
de la consulta hasta la cuadrícula, o bien, haciendo doble clic en el campo.
Una vez que el campo deseado está en la cuadrícula de diseño, escriba el
criterio para ese campo en la fila Criterios.
Usar el Generador de expresiones para escribir criterios
Puede utilizar el Generador de expresiones siempre que desee usar
criterios que contengan funciones. El Generador de expresiones
proporciona características para ayudarle a usar todas las funciones
correctamente. Para obtener más información sobre el generador de
expresiones, vea el artículos sobre cómo usar el Generador de expresiones.
Todos los criterios especificados en la fila Criterios están combinados
Los criterios que especifique para los distintos campos de la fila Criterios
se combinan mediante el operador Y. Por ejemplo, podría especificar el
36
criterio ="Chicago" para el campo Ciudad y el criterio <
AgregFecha("aaaa", -40, Fecha()) para el campo FechaNacimiento. Los
dos criterios se interpretan juntos de la siguiente manera:
Ciudad = "Chicago" Y FechaNacimiento < AgregFecha("aaaa", -40,
Fecha())
Los campos Ciudad y FechaNacimiento incluyen criterios.
Sólo los registros cuyo valor para el campo Ciudad sea Chicago se
ajustarán al criterio.
Sólo los registros que tengan como mínimo 40 años de antigüedad se
ajustarán al criterio.
37
Sólo los registros que cumplan los dos criterios se incluirán en los
resultados.
Especifique criterios alternativos utilizando la fila O
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 cuadrícula de diseño.
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 continuación:
38
Ciudad = "Chicago" O FechaNacimiento < AgregFecha("aaaa", -40,
Fecha())
Si necesita especificar más 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 cambia el resultado de la consulta sin modificar el
diseño de ésta. Para obtener más información sobre los filtros, vea la
sección Vea también
 Si los campos de los criterios no cambian pero los valores que desea sí
cambian con frecuencia, puede crear una consulta de parámetros. Una
consulta de parámetros solicita al usuario una entrada de datos y luego
usa estos datos para crear los criterios de consulta. Para obtener más
información sobre las consultas de parámetros.
Criterios para campos Texto, Memo e Hipervínculo
Los ejemplos siguientes son para el campo PaísRegión 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 cuadrícula de diseño.
39
PARA INCLUIR
REGISTROS QUE
USE ESTE CRITERIO RESULTADO DE LA CONSULTA
Coincidan
exactamente con
un valor, como
China
"China" Devuelve los registros en los que
el campo PaísRegión tiene el
valor China.
No coincidan con
un valor, como
México
No "México" Devuelve los registros en los que
el campo PaísRegión tiene un
valor distinto de México.
Empiecen por la
cadena
especificada, como
Como U* Devuelve los registros
correspondientes a todos los
países o regiones cuyos nombres
40
U empiezan por "U", como
Uruguay, Uganda, etc.
NOTA Cuando se utiliza en una
expresión, el asterisco (*)
representa cualquier cadena de
caracteres (también se lo
denomina "carácter comodín").
Para obtener una lista de este
tipo de caracteres, vea el artículo
sobre información de referencia
sobre los caracteres comodín en
Access.
No empiecen por
la cadena
especificada, como
U
No como U* Devuelve los registros
correspondientes a todos los
países o regiones cuyos nombres
empiezan por un carácter distinto
de "U".
Contengan la
cadena
especificada, como
Como "*Corea*" Devuelve los registros
correspondientes a todos los
países o regiones que contienen
41
Corea la cadena "Corea".
No contengan la
cadena
especificada, como
Corea
No como "*Corea*" Devuelve los registros
correspondientes a todos los
países o regiones que no
contienen la cadena "Corea".
Acaben con la
cadena
especificada, como
"ina"
Como "*ina" Devuelve los registros
correspondientes a todos los
países o regiones cuyos nombres
acaban con "ina" como China y
Argentina.
No acaben con la
cadena
especificada, como
"ina"
No como "*ina" Devuelve los registros
correspondientes a todos los
países o regiones cuyos nombres
no acaban con "ina", como China
y Argentina.
Contengan valores
nulos (o que
falten)
Es Nulo Devuelve los registros en los que
no hay ningún valor en el campo.
No contengan
valores nulos
No es Nulo Devuelve los registros en los que
no falta el valor del campo.
42
Contengan
cadenas de
longitud cero
"" (un par de comillas) 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 podrían
contener un valor en blanco en el
campo PaísRegión.
No contengan
cadenas de
longitud cero
No "" Devuelve los registros en los que
el campo PaísRegión no tiene un
valor en blanco.
Contengan valores
nulos o cadenas
de longitud cero.
"" O Es Nulo Devuelve los registros donde no
hay ningún valor en el campo, o
bien, el campo tiene un valor en
blanco.
Ni vacío ni en
blanco
No es Nulo Y Sin "" Devuelve los registros en los que
el campo PaísRegión tiene un
valor no en blanco y no nulo.
Vayan a
continuación de
un valor, como
>= "México" Devuelve los registros de todos
los países o regiones a partir de
México y posteriores por orden
43
México, si se
ordenan
alfabéticamente
alfabético.
Estén incluidos en
un intervalo
específico, como
de la A hasta la D
Como "[A-D]*" Devuelve los registros
correspondientes a los países o
regiones cuyos nombres
empiezan por las letras "A" a la
"D".
Coincidan con uno
de dos valores,
tales como Estados
Unidos o Reino
Unido
"Estados Unidos" O
"Reino Unido"
Devuelve los registros
correspondientes a Estados
Unidos y Reino Unido.
Contengan uno de
los valores de una
lista
En("Francia", "China",
"Alemania", "Japón")
Devuelve los registros
correspondientes a todos los
países o regiones especificados
en la lista.
Contengan ciertos
caracteres en una
posición específica
Der([PaísRegión], 1) =
"y"
Devuelve los registros
correspondientes a todos los
países o regiones cuyo nombre
44
en el valor del
campo
acaba con la letra "y".
Satisfagan
requisitos de
longitud
Longitud([PaísRegión])
> 10
Devuelve los registros
correspondientes a los países o
regiones cuyo nombre tiene más
de 10 caracteres.
Coincidan con un
modelo específico
Como "Chi??" Devuelve los registros
correspondientes a los países 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 expresión,
representan un solo carácter
(también se les denomina
"caracteres comodín"). El carácter
_ no se puede usar en la misma
expresión junto con el carácter ?
ni con el carácter comodín *. El
45
carácter comodín _ se puede usar
en una expresión que también
contiene el carácter comodín %.
Los criterios de hipervínculos son algo difíciles
De forma predeterminada, un criterio que se especifique para un campo
Hipervínculo se aplica a la parte de texto visible del valor del campo y no
al destino del vínculo. Para especificar los criterios para la parte
correspondiente al Localizador uniforme de recursos (URL) del valor, use la
expresión ParteDeHipervínculo. La sintaxis de esta expresión es la
siguiente:
ParteDeHipervínculo([Tabla1].[Campo1],1) =
"http://www.microsoft.com/"
Tabla1 es el nombre de la tabla que contiene el campo de hipervínculo,
Campo1 es el campo de hipervínculo y http://www.microsoft.com es la
dirección URL que desea buscar.
Criterios para campos Número, Moneda y Autonumeración
Los ejemplos siguientes son para el campo PrecioUnidad de una consulta
basada en una tabla donde se almacena información de productos. El
46
criterio se especifica en la fila Criterios del campo en la cuadrícula de
diseño de la consulta.
PARA INCLUIR
REGISTROS
QUE...
USE ESTE
CRITERIO
RESULTADO DE LA CONSULTA
Coincidan
exactamente con
un valor, como
100
100 Devuelve los registros en los que el precio
por unidad del producto es 100 $.
No coincidan con
un valor, como
No 1000 Devuelve los registros en los que el precio
por unidad del producto no es 1000 $.
47
1000
Contengan un
valor menor que
otro valor, como
100
< 100
<= 100
Devuelve los registros en los que el precio
por unidad es menor que 100 $ (<100). La
segunda expresión (<=100) muestra los
registros en los que el precio por unidad es
menor o igual que 100 $.
Contengan un
valor mayor que
otro valor, como
99,99
>99,99
>=99,99
Devuelve los registros en los que el precio
por unidad es mayor que 99,99 $ (>99,99). La
segunda expresión 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
ó 25
20 o 25 Devuelve los registros en los que el precio
por unidad es 20 $ ó 25 $.
Contengan un
valor que esté
incluido en un
intervalo
>49,99 Y
<99,99
O bien,
Entre 50 Y
100
Devuelve los registros en los que el precio
por unidad está entre (pero sin incluir) 49,99
$ y 99,99 $.
48
Contengan un
valor que esté
fuera de un
intervalo
<50 O >100 Devuelve los registros en los que el precio
por unidad no está entre 50 $ y 100 $.
Contengan uno
entre varios
valores
En(20, 25,
30)
Devuelve los registros en los que el precio
por unidad es 20 $, 25 $ ó 30 $.
Contengan un
valor que acabe
con los dígitos
especificados
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 expresión, representan cualquier
número de caracteres, que también se
denominan "caracteres comodín". El carácter
% no se puede usar en la misma expresión
junto con el carácter * ni con el carácter
comodín ?. El carácter comodín % se puede
usar en una expresión que también contiene
el carácter comodín _.
49
Contengan
valores nulos (o
que falten)
Es Nulo Devuelve los registros en los que no se ha
especificado ningún valor en el campo
PrecioUnidad.
Contengan
valores no nulos
No es Nulo 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 información de pedidos. El criterio
se especifica en la fila Criterios del campo en la cuadrícula de diseño de la
consulta.
50
PARA INCLUIR
REGISTROS
QUE...
USE ESTE CRITERIO RESULTADO DE LA CONSULTA
Coincidan
exactamente con
un valor, como
2/2/2006
#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
carácter #, para que Access pueda
distinguir entre fechas y cadenas de
texto.
No coincidan con
un valor, como
2/2/2006
No #2/2/2006# Devuelve los registros de las
transacciones que tuvieron lugar en
una fecha distinta al 2 de febrero de
2006.
Contengan valores
anteriores a una
fecha
determinada,
como el 2/2/2006
< #2/2/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 <.
Contengan valores> #2/2/2006# Devuelve los registros de las
51
posteriores a una
fecha
determinada,
como el 2/2/2006
transacciones que tuvieron lugar
después del 2 de febrero de 2006.
Para ver las transacciones que
tuvieron lugar en esa fecha o
después, use el operador >= en
lugar de >.
Contengan valores
que estén dentro
de un intervalo de
fechas
>#2/2/2006# Y
<#4/2/2006#
Devuelve los registros de las
transacciones que tuvieron lugar
entre el 2 de febrero de 2006 y el 4
de febrero de 2006.
También puede usar el operador
Entre para filtrar según un intervalo
de valores, incluidos los extremos.
Por ejemplo, Entre #2/2/2006# Y
#4/2/2006# es lo mismo que
>#2/2/2006# Y <#2/4/2006#.
Contengan valores
que estén fuera de
un intervalo
<#2/2/2006# O
>#4/2/2006#
Devuelve los registros de las
transacciones que tuvieron lugar
antes del 2 de febrero de 2006 o
después del 4 de febrero de 2006.
52
Contengan uno de
dos valores, como
2/2/2006 o
3/2/2006
#2/2/2006# O
#3/2/2006#
Devuelve los registros de las
transacciones que tuvieron lugar el
2 de febrero de 2006 o el 3 de
febrero de 2006.
Contengan uno
entre varios
valores
En (#1/2/2006#,
#1/3/2006#,
#1/4/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.
Contengan una
fecha que sea de
un mes específico
(independienteme
nte del año), como
diciembre
ParcFecha("m",
[FechaVenta]) = 12
Devuelve los registros de las
transacciones que tuvieron lugar en
diciembre de cualquier año.
Contengan una
fecha que sea de
un trimestre
específico
(independienteme
nte del año), como
ParcFecha("t",
[FechaVenta]) = 1
Devuelve los registros de las
transacciones que tuvieron lugar en
el primer trimestre de cualquier
año.
53
el primer trimestre
Contengan la
fecha en curso
Fecha() 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.
Contengan la
fecha de ayer
Fecha()-1 Devuelve los registros de las
transacciones que tuvieron lugar en
el día anterior a la fecha en curso. Si
hoy es el 2/2/2006, verá los
registros correspondientes al 1 de
febrero de 2006.
Contengan la
fecha de mañana
Fecha() + 1 Devuelve los registros de las
transacciones que tendrán lugar en
el día posterior a la fecha en curso.
Si hoy es el 2/2/2006, verá los
registros correspondientes al 3 de
febrero de 2006.
Contengan fechasParcFecha("ss", Devuelve los registros de las
54
que sean de la
semana en curso
[FechaVenta]) =
ParcFecha("ss",
Fecha()) Y Año(
[FechaVenta]) =
Año(Fecha())
transacciones que tuvieron lugar
durante la semana en curso. Una
semana empieza en domingo y
termina en sábado.
Contengan fechas
que sean de la
semana anterior
Año([FechaVenta])*
53 + ParcFecha("ss",
[FechaVenta]) =
Año(Fecha())* 53 +
ParcFecha("ss",
Fecha()) - 1
Devuelve los registros de las
transacciones que tuvieron lugar
durante la semana pasada. Una
semana empieza en domingo y
termina en sábado.
Contengan fechas
que sean de la
semana próxima
Año([FechaVenta])*
53+ParcFecha("ss",
[FechaVenta]) =
Año(Fecha())*
53+ParcFecha("ss",
Fecha()) + 1
Devuelve los registros de las
transacciones que tendrán lugar la
semana próxima. Una semana
empieza en domingo y termina en
sábado.
Contengan fechas
que sean de los 7
últimos días
Entre Fecha() Y
Fecha()-6
Devuelve los registros de las
transacciones que tuvieron lugar
durante los 7 últimos días. Si hoy es
55
el 2/2/2006, verá los registros
correspondientes al período del 24
de enero de 2006 al 2 de febrero de
2006.
Contengan una
fecha que sea del
mes en curso
Año([FechaVenta]) =
Año(Ahora())
Y Mes([FechaVenta])
= Mes(Ahora())
Devuelve los registros
correspondientes al mes en curso.
Si hoy es el 2/2/2006, verá los
registros correspondientes a
febrero de 2006.
Contengan una
fecha que sea del
mes anterior
Año([FechaVenta])*
12 + ParcFecha("m",
[FechaVenta]) =
Año(Fecha())* 12 +
ParcFecha("m",
Fecha()) - 1
Devuelve los registros
correspondientes al mes pasado. Si
hoy es el 2/2/2006, verá los
registros correspondientes a enero
de 2006.
Contengan una
fecha que sea del
mes próximo
Año([FechaVenta])*
12 + ParcFecha("m",
[FechaVenta]) =
Año(Fecha())* 12 +
ParcFecha("m",
Devuelve los registros
correspondientes al mes próximo. Si
hoy es el 2/2/2006, verá los
registros correspondientes a marzo
de 2006.
56
Fecha()) + 1
Contengan fechas
que sean de los 30
ó 31 últimos días
Entre Fecha( ) Y
AgregFecha("M", -1,
Fecha( ))
Los registros de ventas de un
período de un mes. Si hoy es el
2/2/2006, verá los registros
correspondientes al período del 2
de enero de 2006 al 2 de febrero de
2006.
Contengan una
fecha que sea del
trimestre en curso
Año([FechaVenta]) =
Año(Ahora()) Y
ParcFecha("t",
Fecha()) =
ParcFecha("t",
Ahora())
Devuelve los registros
correspondientes al trimestre en
curso. Si hoy es el 2/2/2006, verá los
registros correspondientes al primer
trimestre de 2006.
Contengan una
fecha que sea del
trimestre anterior
Año([FechaVenta])*4
+ParcFecha("t",[Fech
aVenta]) =
Año(Fecha())*4+ParcF
echa("t",Fecha())- 1
Devuelve los registros
correspondientes al trimestre
anterior. Si hoy es el 2/2/2006, verá
los registros correspondientes al
último trimestre de 2005.
Contengan una
fecha que sea del
Año([FechaVenta])*4
+ParcFecha("t",[Fech
Devuelve los registros
correspondientes al próximo
57
próximo trimestre aVenta]) =
Año(Fecha())*4+ParcF
echa("t",Fecha())+1
trimestre. Si hoy es el 2/2/2006,
verá los registros correspondientes
al segundo trimestre de 2006.
Contengan fechas
que sean del año
en curso
Año([FechaVenta]) =
Año(Fecha())
Devuelve los registros
correspondientes al año en curso. Si
hoy es el 2/2/2006, verá los
registros correspondientes al año
2006.
Contengan una
fecha que sea del
año anterior
Año([FechaVenta]) =
Año(Fecha()) - 1
Devuelve los registros de las
transacciones que tuvieron lugar
durante el año pasado. Si hoy es el
2/2/2006, verá los registros
correspondientes al año 2005.
Contengan una
fecha que sea del
año próximo
Año([FechaVenta]) =
Año(Fecha()) + 1
Devuelve los registros de las
transacciones con fecha en el año
próximo. Si hoy es el 2/2/2006, verá
los registros correspondientes al
año 2007.
Contengan una
fecha que esté
Año([FechaVenta]) =
Año(Fecha()) Y
Devuelve los registros de las
transacciones con fechas entre el 1
58
entre el 1 de
enero y hoy
(registros del año
hasta la fecha)
Mes([FechaVenta])
<= Mes(Fecha()) Y
Día([FechaVenta]) <=
Día (Fecha())
de enero del año en curso y la fecha
actual. Si hoy es el 2/2/2006, verá
los registros correspondientes al
período del 1 de enero de 2006 al 2
de febrero de 2006.
Contengan una
fecha ya pasada
< Fecha() Devuelve los registros de las
transacciones que tuvieron lugar
antes de hoy.
Contengan una
fecha del futuro
> Fecha() Devuelve los registros de las
transacciones que tendrán lugar
después de hoy.
Filtren valores
nulos (o que
falten)
Es Nulo Devuelve los registros en los que
falta la fecha de la transacción.
Filtren valores no
nulos
No es Nulo Devuelve los registros en los que se
conoce la fecha de la transacción.
59
Criterios para otros campos
TIPO DE
CAMPO
CÓMO APLICAR LOS CRITERIOS
Sí/No En la fila Criterios, escriba Sí para incluir los registros que tengan
activada la casilla de verificación. Escriba No para incluir los
registros que no tengan activada la casilla de verificación.
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.
Búsqueda Hay dos tipos básicos de campos de búsqueda: 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 búsqueda.
Los campos de búsqueda que se basan en una lista de valores
especificados son del tipo de datos Texto, y los criterios válidos
son los mismos que para otros campos de texto.
Los criterios que se pueden usar en un campo de búsqueda
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
búsqueda que muestra los nombres de empleados, pero usa una
clave externa de tipo de datos Número. Puesto que el campo
almacena un número en lugar de texto, usted utilizará criterios
válidos para números, es decir, >2.
Si no conoce el tipo de datos de la clave externa, puede
examinar la tabla de origen en la vista Diseño para determinar
60
los tipos de datos de los campos. Para ello:
1. Busque la tabla de origen en el panel de navegación.
2. Abra la tabla en la vista Diseño. Para ello:
 Haga clic en la tabla y, a continuación, presione CTRL+ENTRAR.
 Haga clic con el botón secundario del mouse en la tabla y, a
continuación, haga clic en Vista Diseño.
3. El tipo de datos de cada campo se muestra en la columna Tipo
de datos de la cuadrícula de diseño de la tabla.
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 Diseño 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 ello:
1. Cree una consulta que contenga el campo multivalor y ábrala en
la vista Diseño.
2. Expanda el campo multivalor haciendo clic en el signo más (+)
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.
3. Arrastre el campo multivalor y su campo de valor único a
columnas distintas en la cuadrícula de diseño. Si desea ver sólo el
campo multivalor completo en los resultados, desactive la casilla
de verificación Mostrar correspondiente al campo de valor único.
61
4. Escriba los criterios en la fila Criterios correspondiente al campo
de valor único, utilizando criterios apropiados según cuál sea el
tipo de datos de los valores.
Cada valor del campo multivalor se puede evaluar
individualmente mediante los criterios que especifique. Por
ejemplo, suponga que tiene un campo multivalor para almacenar
una lista de números. 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 aparecerán en los resultados.
62
BIBLIOGRAFÍA
Access 2010. Alfredo Rico
Mariano Ordás Fernández Manual Rápido de Microsoft Access 2010
www.ebriik.com
http://dominandoaccess.com/blog

Contenu connexe

Tendances

Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005shavila
 
SENTENCIAS SQL
SENTENCIAS SQL SENTENCIAS SQL
SENTENCIAS SQL Jair Cruz
 
Introducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónIntroducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónM.c. Omar Jasso
 
USO DE SENTECIAS SQL
USO DE SENTECIAS SQLUSO DE SENTECIAS SQL
USO DE SENTECIAS SQLJorge Porras
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014Henry Cambal
 
Introducción a Sql
Introducción a SqlIntroducción a Sql
Introducción a Sqlalexmerono
 
Tipos de consultas sql
Tipos de consultas sqlTipos de consultas sql
Tipos de consultas sqlFausto Torres
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasclaudia contreras
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejasalexmerono
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014JOSE AHIAS LOPEZ PORTILLO
 
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)Martin Murciego
 

Tendances (19)

Lab5 sql
Lab5 sqlLab5 sql
Lab5 sql
 
Lab5. SQL
Lab5. SQLLab5. SQL
Lab5. SQL
 
Lab5 sql
Lab5 sqlLab5 sql
Lab5 sql
 
Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005
 
Sentencias sql
Sentencias sqlSentencias sql
Sentencias sql
 
Sql c1
Sql c1Sql c1
Sql c1
 
SENTENCIAS SQL
SENTENCIAS SQL SENTENCIAS SQL
SENTENCIAS SQL
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
Introducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selecciónIntroducción a sql consultas y criterios de selección
Introducción a sql consultas y criterios de selección
 
USO DE SENTECIAS SQL
USO DE SENTECIAS SQLUSO DE SENTECIAS SQL
USO DE SENTECIAS SQL
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Introducción a Sql
Introducción a SqlIntroducción a Sql
Introducción a Sql
 
Tipos de consultas sql
Tipos de consultas sqlTipos de consultas sql
Tipos de consultas sql
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Sql server 2014 básico
Sql server 2014 básicoSql server 2014 básico
Sql server 2014 básico
 
Introduccion al sql query
Introduccion al sql queryIntroduccion al sql query
Introduccion al sql query
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
 

En vedette

Conceptos basicos de access 2013
Conceptos basicos de access 2013Conceptos basicos de access 2013
Conceptos basicos de access 2013angie-01
 
Base de Datos en Access 2013
Base de Datos en Access 2013Base de Datos en Access 2013
Base de Datos en Access 2013luiscastejon
 
Material de Clases TP N° 1 - Bases de Datos - Introducción, Tablas y Relaciones
Material de Clases TP N° 1 - Bases de Datos - Introducción, Tablas y RelacionesMaterial de Clases TP N° 1 - Bases de Datos - Introducción, Tablas y Relaciones
Material de Clases TP N° 1 - Bases de Datos - Introducción, Tablas y Relacionesmnllorente
 
Consultas de access
Consultas de accessConsultas de access
Consultas de accessSophya
 
Aula virtual 2013 access
Aula virtual 2013 accessAula virtual 2013 access
Aula virtual 2013 accessMeymorsal
 
SQL For Dummies
SQL For DummiesSQL For Dummies
SQL For Dummiesomenar
 
Microsoft office 2013 diapositivas
Microsoft office 2013 diapositivasMicrosoft office 2013 diapositivas
Microsoft office 2013 diapositivascarolinis
 
Creacion de un informe y formularios access 2013
Creacion de un informe y formularios access 2013Creacion de un informe y formularios access 2013
Creacion de un informe y formularios access 2013Pao Alexita
 
Ejemplo ACTUALIZAR registros desde Visual Basic 2012
Ejemplo ACTUALIZAR registros desde Visual Basic 2012Ejemplo ACTUALIZAR registros desde Visual Basic 2012
Ejemplo ACTUALIZAR registros desde Visual Basic 2012Vane Borjas
 
Trabajo consultas access con diseño en sql
Trabajo consultas access con diseño en sqlTrabajo consultas access con diseño en sql
Trabajo consultas access con diseño en sqlCarlos Mancilla
 

En vedette (17)

8.ejercicios SQL access
8.ejercicios SQL access8.ejercicios SQL access
8.ejercicios SQL access
 
Tablas en access 2013
Tablas en access 2013Tablas en access 2013
Tablas en access 2013
 
Ejercicios sql access
Ejercicios sql accessEjercicios sql access
Ejercicios sql access
 
Guia access
Guia accessGuia access
Guia access
 
Conceptos basicos de access 2013
Conceptos basicos de access 2013Conceptos basicos de access 2013
Conceptos basicos de access 2013
 
Base de Datos en Access 2013
Base de Datos en Access 2013Base de Datos en Access 2013
Base de Datos en Access 2013
 
Material de Clases TP N° 1 - Bases de Datos - Introducción, Tablas y Relaciones
Material de Clases TP N° 1 - Bases de Datos - Introducción, Tablas y RelacionesMaterial de Clases TP N° 1 - Bases de Datos - Introducción, Tablas y Relaciones
Material de Clases TP N° 1 - Bases de Datos - Introducción, Tablas y Relaciones
 
Sumario
SumarioSumario
Sumario
 
Consultas de access
Consultas de accessConsultas de access
Consultas de access
 
Aula virtual 2013 access
Aula virtual 2013 accessAula virtual 2013 access
Aula virtual 2013 access
 
SQL For Dummies
SQL For DummiesSQL For Dummies
SQL For Dummies
 
Microsoft office 2013 diapositivas
Microsoft office 2013 diapositivasMicrosoft office 2013 diapositivas
Microsoft office 2013 diapositivas
 
Separata access 2013
Separata access 2013Separata access 2013
Separata access 2013
 
Creacion de un informe y formularios access 2013
Creacion de un informe y formularios access 2013Creacion de un informe y formularios access 2013
Creacion de un informe y formularios access 2013
 
Ejemplo ACTUALIZAR registros desde Visual Basic 2012
Ejemplo ACTUALIZAR registros desde Visual Basic 2012Ejemplo ACTUALIZAR registros desde Visual Basic 2012
Ejemplo ACTUALIZAR registros desde Visual Basic 2012
 
Manual de Excel 2013
Manual de Excel 2013Manual de Excel 2013
Manual de Excel 2013
 
Trabajo consultas access con diseño en sql
Trabajo consultas access con diseño en sqlTrabajo consultas access con diseño en sql
Trabajo consultas access con diseño en sql
 

Similaire à Sql y programacion en access 2010

Similaire à Sql y programacion en access 2010 (20)

Sql comamdo
Sql comamdoSql comamdo
Sql comamdo
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 
Teoria sql
Teoria sqlTeoria sql
Teoria sql
 
Access Clase 02
Access Clase 02Access Clase 02
Access Clase 02
 
Consultas
ConsultasConsultas
Consultas
 
Consultas
ConsultasConsultas
Consultas
 
Consultas basicas en sql server
Consultas basicas en sql serverConsultas basicas en sql server
Consultas basicas en sql server
 
Visual basic 6.0 practicas unidad 4
Visual basic 6.0 practicas unidad 4Visual basic 6.0 practicas unidad 4
Visual basic 6.0 practicas unidad 4
 
Visual basic 6.0 practicas unidad 4
Visual basic 6.0 practicas unidad 4Visual basic 6.0 practicas unidad 4
Visual basic 6.0 practicas unidad 4
 
Objeto De Aprendizaje
Objeto De AprendizajeObjeto De Aprendizaje
Objeto De Aprendizaje
 
Operaciones basicas de sql
Operaciones basicas de sqlOperaciones basicas de sql
Operaciones basicas de sql
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
SQL
SQLSQL
SQL
 
Consulta sql alexandra mayorga
Consulta sql alexandra mayorgaConsulta sql alexandra mayorga
Consulta sql alexandra mayorga
 
Guia de ejercicio sql
Guia de ejercicio sqlGuia de ejercicio sql
Guia de ejercicio sql
 
Sql Basico
Sql BasicoSql Basico
Sql Basico
 
Unidad 2-lenguaje-sql
Unidad 2-lenguaje-sqlUnidad 2-lenguaje-sql
Unidad 2-lenguaje-sql
 
Guía de declaraciones de open sql
Guía  de declaraciones de open sqlGuía  de declaraciones de open sql
Guía de declaraciones de open sql
 
Tutorial SQL
Tutorial SQLTutorial SQL
Tutorial SQL
 

Dernier

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 

Dernier (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 

Sql y programacion en access 2010

  • 1. “SQL COMO CÓDIGO DE PROGRAMACIÓN PARA MICROSOFT ACCESS 2010”
  • 2. 2 DEDICATORIA A mi familia, porque creyeron en mí y porque me impulsaron a seguir triunfando, dándome ejemplos dignos de superación y entrega.
  • 3. 3 ÍNDICE 1. ¿Qué es SQL? 04 2. Cláusulas SQL básicas: SELECT, FROM y WHERE 09 3. Ordenar los resultados: ORDER BY BY 12 4. Trabajar con datos resumidos: GROUP BY y HAVING 13 5. Combinar los resultados de la consulta: UNION 15 6. Más información acerca de la cláusula SELECT 18 7. Más información acerca de la cláusula FROM 22 8. Más información acerca de la cláusula WHERE 28 9. BIBLIOGRAFÍA
  • 4. 4 INTRODUCCIÓN A ACCESS SQL 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 computación que se asemeja al inglés 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 además de entender cómo solucionar una consulta que no devuelve los resultados deseados. Más información acerca de la cláusula WHERE
  • 5. 5 ¿Qué es SQL? SQL es un lenguaje de computación que sirve para trabajar con conjuntos de datos y las relaciones entre ellos. Los programas de bases de datos relacionales, como Microsoft Office Access, usan SQL para trabajar con datos. A diferencia de muchos lenguajes de computación, SQL no es difícil de leer y entender, incluso para un usuario inexperto. Al igual que muchos lenguajes de computación, SQL es un estándar internacional reconocido por organismos de estándares, como ISO y ANSI. “SQL no es difícil de leer y entender, incluso para un usuario inexperto.” SQL se usa para describir conjuntos de datos que pueden ayudarle a responder preguntas. Cuando usa SQL, debe emplear la sintaxis correcta. La sintaxis es el conjunto de reglas mediante las cuales se combinan los elementos de un lenguaje correctamente. La sintaxis de SQL se basa en la sintaxis del inglés y usa muchos de los mismos elementos que la sintaxis de Visual Basic para Aplicaciones (VBA). Por ejemplo, una simple instrucción SQL que recupera una lista de los apellidos de contactos cuyo nombre es María podría ser similar a esto:
  • 6. 6 SELECT Last_Name FROM Contacts WHERE First_Name = 'Mary'; NOTA SQL no se usa solo para manipular datos, sino también para crear y modificar el diseño 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 definición de datos (DDL). En este tema no se describe el DDL. Para obtener más información, vea el tema acerca de cómo crear o modificar tablas o índices mediante una consulta de definición de datos. Instrucciones SELECT Para describir un conjunto de datos mediante SQL, escriba una instrucción SELECT. Una instrucción SELECT contiene una descripción completa del conjunto de datos que desea obtener de una base de datos. Incluye lo siguiente:  Qué tablas contienen los datos.  Cómo se relacionan los datos de orígenes diferentes.  Qué campos o cálculos proporcionarán los datos.  Criterios que los datos deben cumplir para ser incluidos.  Si se deben ordenar los datos y, en caso de ser así, cómo deben ordenarse.
  • 7. 7 Cláusulas SQL Al igual que una frase, una instrucción SQL tiene cláusulas. Cada cláusula realiza una función para la instrucción SQL. Algunas cláusulas son obligatorias en una instrucción SELECT. En la siguiente tabla se enumeran las cláusulas SQL más comunes. CLÁUSULA SQL FUNCIÓN OBLIGATORIA SELECT Muestra una lista de los campos que contienen datos de interés. Sí FROM Muestra las tablas que contienen los campos de la cláusula SELECT. Sí WHERE 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 GROUP BY En una instrucción SQL que contiene funciones de agregado, muestra los campos que no se resumen en la cláusula SELECT. Solo si están estos campos HAVING En una instrucción SQL que contiene funciones de agregado, especifica las condiciones que se aplican a los campos que se resumen en la instrucción SELECT. No
  • 8. 8 Términos de SQL Cada cláusula SQL consta de términos, comparables a diferentes partes de la oración. En la siguiente tabla se enumeran los tipos de términos de SQL. TÉRMINO DE SQL PARTE DE LA ORACIÓN COMPARABLE DEFINICIÓN EJEMPLO identificador sustantivo Nombre que se usa para identificar un objeto de la base de datos, como el nombre de un campo. Clientes.[Número de teléfono] operador verbo o adverbio Palabra clave que representa o modifica una acción. AS constante sustantivo Valor que no cambia, como un número o un valor nulo (NULL). 42 expresión adjetivo Combinación de identificadores, operadores, constantes y funciones que se evalúa como un valor único. > = Productos.[Precio por unidad]
  • 9. 9 CLÁUSULAS SQL BÁSICAS: SELECT, FROM Y WHERE Una instrucción SQL tiene el formato general: SELECT field_1 FROM table_1 WHERE criterion_1; NOTAS  Access pasa por alto los saltos de línea en una instrucción SQL. Sin embargo, conviene usar una línea para cada cláusula para que las instrucciones SQL sean más fáciles 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 cláusula o solo en una línea al final de la instrucción SQL. Un ejemplo en Access A continuación se muestra el aspecto que podría tener en Access una instrucción SQL para una consulta de selección simple:
  • 10. 10 Cláusula SELECT Cláusula FROM Cláusula WHERE En este ejemplo de instrucción SQL, se indica "Seleccionar los datos almacenados en los campos Dirección de correo electrónico y Empresa de la tabla llamada Contactos, específicamente aquellos registros en los cuales el valor del campo Ciudad sea Seattle". A continuación se incluye un ejemplo y se describe cada cláusula para mostrar cómo funciona la sintaxis de SQL. CLÁUSULA SELECT: SELECT [E-mail Address], Company Ésta es la cláusula SELECT. Se compone de un operador (SELECT) seguido de dos identificadores ([Dirección de correo electrónico] y Empresa). Si un identificador contiene espacios o caracteres especiales (como "Dirección de correo electrónico"), se debe escribir entre corchetes. Una cláusula 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.
  • 11. 11 La cláusula SELECT siempre aparece antes que la cláusula FROM en una instrucción SELECT. CLÁUSULA FROM: FROM Contacts Ésta es la cláusula FROM. Se compone de un operador (FROM) seguido de un identificador (Contactos). Una cláusula FROM no enumera los campos que se van a seleccionar. CLÁUSULA WHERE: WHERE City="Seattle" Ésta es la cláusula WHERE. Se compone de un operador (WHERE) seguido de un identificador (Ciudad="Seattle"). NOTA A diferencia de las cláusulas SELECT y FROM, la cláusula WHERE no es un elemento obligatorio en una instrucción SELECT. Puede realizar muchas de las acciones que SQL permite mediante las cláusulas SELECT, FROM y WHERE. En las secciones incluidas al final de este artículo encontrará más información acerca de cómo usar estas cláusulas: Más información acerca de la cláusula SELECT, FROM, WHERE.
  • 12. 12 ORDENAR LOS RESULTADOS: ORDER BY Al igual que Microsoft Office Excel, Access permite ordenar los resultados de la consulta en una hoja de datos. Además, puede especificar en la consulta cómo desea ordenar los resultados al ejecutar la consulta mediante una cláusula ORDER BY. Si usa una cláusula ORDER BY, ésta será la última cláusula en la instrucción SQL. Una cláusula 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 ordenación. 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 además por el valor indicado en el campo Dirección de correo electrónico en orden ascendente. La cláusula ORDER BY podría 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.
  • 13. 13 TRABAJAR CON DATOS RESUMIDOS: GROUP BY Y HAVING: En ocasiones, es posible que desee trabajar con datos resumidos, como las ventas totales de un mes o los artículos más caros del inventario. Para ello, debe aplicar una función de agregado a un campo en la cláusula SELECT. Por ejemplo, si desea que la consulta muestre la cantidad de direcciones de correo electrónico para cada una de las empresas, la cláusula SELECT debe ser similar 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 expresión que desea emplear. ESPECIFICAR CAMPOS QUE NO SE USAN EN UNA FUNCIÓN DE AGREGADO: CLÁUSULA GROUP BY: Al usar las funciones de agregado, normalmente debe crear una cláusula GROUP BY. Una cláusula GROUP BY muestra una lista de todos los campos a los que no se aplica una función de agregado. Si aplica las funciones de agregado a todos los campos de una consulta, no es necesario crear la cláusula GROUP BY. Una cláusula GROUP BY se incluye inmediatamente después de la cláusula WHERE o la cláusula FROM si no hay una cláusula WHERE. La cláusula
  • 14. 14 GROUP BY muestra una lista de los campos que aparecen en la cláusula SELECT. Por ejemplo, siguiendo con el ejemplo anterior, si la cláusula SELECT aplica una función de agregado a [Dirección de correo electrónico] pero no a Empresa, la cláusula GROUP BY sería similar a la siguiente: GROUP BY Company LIMITAR LOS VALORES DE AGREGADO MEDIANTE LOS CRITERIOS DE AGRUPACIÓN: CLÁUSULA HAVING: Si desea usar criterios para limitar sus resultados, pero el campo al que desea aplicar el criterio se usa en una función de agregado, no puede usar una cláusula WHERE. En su lugar, debe usar una cláusula HAVING. La cláusula HAVING funciona como la cláusula WHERE, pero se usa para los datos agregados. Por ejemplo, suponga que usa la función COUNT (que devuelve un número de filas) con el primer campo de la cláusula SELECT: SELECT COUNT([E-mail Address]), Company Si desea que la consulta limite los resultados según el valor de la función COUNT, no puede usar un criterio para dicho campo en la cláusula WHERE. Por el contrario, debe incluir el criterio en una cláusula HAVING. Por ejemplo, si solo desea que la consulta indique las filas en caso de que
  • 15. 15 exista más de una dirección de correo electrónico asociada con la empresa, la cláusula HAVING debería ser similar a la siguiente: HAVING COUNT([E-mail Address])>1 NOTA Una consulta puede incluir una cláusula WHERE y una cláusula HAVING: los criterios para los campos que no se usan en una función de agregado se corresponden con la cláusula WHERE y los criterios de los campos que se usan en las funciones de agregado se corresponden con la cláusula HAVING. COMBINAR LOS RESULTADOS DE LA CONSULTA: UNION: Si desea revisar todos los datos obtenidos en conjunto de varias consultas de selección 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 número 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 número de campos que cada una de las instrucciones de selección.
  • 16. 16 NOTA A efectos de una consulta de unión, los tipos de datos Texto y Número son compatibles. Si usa el operador UNION, también puede usar la palabra clave ALL para especificar si los resultados de la consulta deben incluir las filas duplicadas, si existe alguna. La sintaxis básica de SQL para una consulta de unión 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 garantía del servicio o de garantía del producto, y si el producto o servicio se ofrece de forma exclusiva. Aunque en la tabla Productos se almacena información de garantía del producto y en la tabla Servicios se almacena información de garantía del servicio, la información básica es la misma (si un producto o servicio determinado incluye una garantía de calidad).
  • 17. 17 Puede usar una consulta de unión, como la que se muestra a continuación, 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; Para obtener más información acerca de cómo combinar instrucciones SELECT mediante el operador UNION, vea el tema sobre cómo combinar los resultados de varias consultas de selección mediante una consulta de unión.
  • 18. 18 MÁS INFORMACIÓN ACERCA DE LA CLÁUSULA SELECT En una instrucción SELECT, la cláusula SELECT incluye los campos que contienen los datos que desea usar. Usar corchetes para incluir los identificadores Puede escribir el nombre entre corchetes para incluir el nombre de un campo en la cláusula SELECT. Si el nombre no contiene espacios ni caracteres especiales (como signos de puntuación), los corchetes son opcionales. Si el nombre contiene espacios o caracteres especiales, debe usar los corchetes. SUGERENCIA Un nombre que contiene espacios resulta más fácil de leer y le permite ahorrar tiempo cuando diseña formularios e informes, pero es
  • 19. 19 posible que luego deba escribir más al especificar instrucciones SQL. Debe tener en cuenta este dato cuando asigne un nombre a los objetos de la base de datos. Si la instrucción SQL tiene dos o más campos con el mismo nombre, debe agregar el nombre del origen de datos de cada campo al nombre del campo en la cláusula SELECT. Debe usar el mismo nombre para los orígenes de datos que ha usado en la cláusula FROM. Seleccionar todos los campos Si desea incluir todos los campos de un origen de datos, puede enumerar todos los campos individualmente en la cláusula SELECT o bien puede usar el carácter comodín asterisco (*). Si 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 asegurarse de que la consulta se actualizará en caso de que se agreguen nuevos campos al origen de datos. Puede usar el asterisco con uno o más orígenes de datos en una instrucción SQL. Si usa el asterisco y hay varios orígenes de datos, debe incluir el nombre del origen de datos junto con el asterisco para que Access pueda determinar desde qué origen de datos debe incluir todos los campos.
  • 20. 20 Por ejemplo, suponga que desea seleccionar todos los campos de la tabla Pedidos, pero solo la dirección de correo electrónico de la tabla de Contactos. La cláusula SELECT podría ser similar a la siguiente: SELECT Orders.*, Contacts.[E-mail Address] NOTA Realice un seguimiento cada vez que use el asterisco. Si más adelante se agregan al origen de datos nuevos campos que no estaban previstos, los resultados de la consulta podrían no ser los deseados. Seleccionar valores distintos Si sabe que la instrucción seleccionará datos redundantes y prefiere ver solo los valores distintos, puede usar la palabra clave DISTINCT en la cláusula SELECT. Por ejemplo, suponga que cada uno de los clientes representa varios intereses diferentes y algunos usan el mismo número de teléfono. Si desea asegurarse de que solo se vea cada uno de los números de teléfono una vez, la cláusula SELECT debe ser similar a la siguiente: SELECT DISTINCT [txtCustomerPhone] Usar nombres sustitutos para los campos o expresiones: palabra clave AS Puede cambiar la etiqueta que se muestra para cualquier campo en la vista de hoja de datos mediante la palabra clave AS y un alias de campo en la cláusula SELECT. Un alias de campo es un nombre que se asigna a un
  • 21. 21 campo en una consulta para que las consultas sean más fáciles de leer. Por ejemplo, si desea seleccionar datos de un campo llamado txtTelClien y el campo contiene los números de teléfono de los clientes, puede mejorar la legibilidad de los resultados mediante el uso de un alias de campo en la instrucción SELECT de la siguiente manera: SELECT [txtCustPhone] AS [Customer Phone] NOTA Debe usar un alias de campo si se usa una expresión en una cláusula SELECT. Seleccionar mediante una expresión En ocasiones, es posible que necesite realizar cálculos a partir de los datos o recuperar solo una parte de los datos de un campo. Por ejemplo, suponga que desea obtener el año de nacimiento de los clientes a partir de los datos del campo Fecha de nacimiento de la base de datos. La cláusula SELECT puede ser similar a la siguiente: SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year] Esta expresión consta de la función DatePart y dos argumentos ("yyyy" (constante) y [BirthDate] (identificador)). Puede usar cualquier expresión válida como campo siempre que la expresión genere un valor único al especificar un valor de entrada único.
  • 22. 22 MÁS INFORMACIÓN ACERCA DE LA CLÁUSULA FROM En una instrucción SELECT, la cláusula FROM especifica las tablas o consultas que contienen los datos que usará la cláusula SELECT. Supongamos que desea saber el número de teléfono de un cliente específico. Si la tabla que contiene el campo que almacena estos datos se llama tblCliente, la cláusula FROM sería similar a: FROM tblCustomer Usar corchetes para incluir los identificadores Puede escribir el nombre entre corchetes. Si el nombre no contiene espacios ni caracteres especiales (como signos de puntuación), los
  • 23. 23 corchetes son opcionales. Si el nombre contiene espacios o caracteres especiales, debe usar los corchetes. SUGERENCIA Un nombre que contiene espacios resulta más fácil de leer y le permite ahorrar tiempo cuando diseña formularios e informes, pero es posible que luego deba escribir más al especificar instrucciones SQL. Debe tener en cuenta este dato cuando asigne un nombre a los objetos de la base de datos. Usar nombres sustitutos para orígenes de datos Puede usar un nombre diferente para hacer referencia a un origen de datos en una instrucción SELECT mediante un alias de tabla en la cláusula FROM. Un alias de tabla es el nombre que se asigna a un origen de datos en una consulta si se usa una expresión como origen de datos o para facilitar la escritura y lectura de la instrucción SQL. Esto puede ser especialmente útil si el nombre del origen de datos es largo o difícil de escribir, sobre todo si hay varios campos que tienen el mismo nombre en diferentes tablas. 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 cláusula SELECT puede ser similar a la siguiente: SELECT [tblCustomer].[ID], [tblOrder].[ID]
  • 24. 24 Al usar alias de tabla en la cláusula FROM, puede facilitar la escritura de la consulta. Así, la cláusula FROM podría ser similar a: FROM [tblCustomer] AS [C], [tblOrder] AS [O] A continuación, puede usar estos alias de tabla en la cláusula SELECT del modo siguiente: SELECT [C].[ID], [O].[ID] NOTA Si se usa un alias de tabla, puede hacer referencia al origen de datos en la instrucción SQL mediante el alias o mediante el nombre completo del origen de datos. Combinar datos relacionados Cuando necesite combinar pares de registros de dos orígenes de datos en un registro único en los resultados de una consulta, puede realizar una combinación. Una combinación es una operación de SQL que especifica cómo se relacionan dos orígenes de datos y si se deben incluir los datos de un origen en caso de no haber ningún dato correspondiente del otro origen. Para combinar la información de dos orígenes de datos, debe realizar una operación de combinación en el campo que tienen en común. Si los valores almacenados en este campo coinciden, los datos de los registros se combinan en los resultados.
  • 25. 25 Además de la combinación de datos, también se puede usar una combinación para especificar si se incluirán registros de cualquier tabla en caso de no haber ningún 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 más 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 ningún registro correspondiente en la otra tabla, la cláusula FROM puede ser similar a la siguiente (se ha agregado un salto de línea para mejorar la legibilidad): FROM [tblCustomer] INNER JOIN [tblOrder] ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID] En Microsoft Office Access, las combinaciones se producen en la cláusula FROM de una instrucción SELECT. Hay dos tipos de combinaciones: combinaciones internas y combinaciones externas. En las siguientes secciones se explican estos dos tipos de combinaciones.
  • 26. 26 Combinaciones internas Las combinaciones internas son el tipo de combinación más común. Cuando se ejecuta una consulta con una combinación interna, los únicos registros que se incluyen en los resultados de la consulta son los registros en los que existe un valor común en las dos tablas combinadas. Una combinación interna tiene la siguiente sintaxis (se ha agregado un salto de línea para mejorar la legibilidad): FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2 En la siguiente tabla se describen las diferentes partes de una operación INNER JOIN. PARTE DESCRIPCIÓN tabla1, tabla2 Nombres de las tablas cuyos registros se combinan. campo1, campo2 Nombres de los campos que se combinan. Si no son numéricos, 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 comparación relacional: "=", "<", ">", "<=", ">=" o "<>".
  • 27. 27 Combinaciones externas Las combinaciones externas son similares a las combinaciones internas porque indican a una consulta cómo combinar información a partir de dos orígenes. Son diferentes ya que también especifican si se incluirán datos donde no hay ningún valor común. Las combinaciones externas son direccionales: se puede especificar si incluir todos los registros del primer origen de datos especificado en la combinación (denominada combinación izquierda o left join) o incluir todos los registros del segundo origen de datos en la combinación (denominada combinación derecha o right join). Una combinación 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 DESCRIPCIÓN tabla1, tabla2 Nombres de las tablas cuyos registros se combinan. campo1, campo2 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. opcomp Cualquier operador de comparación relacional: "=", "<", ">", "<=", ">=" o "<>".
  • 28. 28 MÁS INFORMACIÓN ACERCA DE LA CLÁUSULA WHERE Si desea usar datos para limitar el número de registros devueltos en una consulta, puede usar criterios de consulta en la cláusula WHERE de una instrucción SELECT. Un criterio de consulta es similar a una fórmula: consiste en una cadena que puede incluir referencias de campos, operadores y constantes. Los criterios de consulta son un tipo de expresión. En la siguiente tabla se muestran algunos criterios de ejemplo y se explica cómo funcionan.
  • 29. 29 CRITERIOS DESCRIPCIÓN >25 y <50 Este criterio se aplica a un campo de número, como Precios o UnidadesenExistencias. Incluye solo aquellos registros en los que el campo contiene un 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 resultado de la consulta se incluyen únicamente los registros en los cuales la cantidad de años entre la fecha de nacimiento de una persona y la fecha actual es superior a 30. Es nulo Este criterio se puede aplicar a cualquier tipo de campo para mostrar los registros en los que el valor de campo es nulo. Tal como se observa en la tabla anterior, los criterios pueden ser muy distintos entre sí según el tipo de datos del campo al que se apliquen y los requisitos específicos en cada caso. Algunos criterios son sencillos y usan operadores básicos y constantes. Otros son complejos y usan funciones y operadores especiales, e incluyen referencias de campo.
  • 30. 30 IMPORTANTE Si se usa un campo con una función de agregado, no podrá especificar criterios para dicho campo en una cláusula WHERE. En su lugar, debe usar una cláusula HAVING para especificar criterios para los campos agregados. Para obtener más información, vea la sección Trabajar con datos resumidos: GROUP BY y HAVING. Sintaxis de la cláusula WHERE Una cláusula WHERE tiene la siguiente sintaxis básica: WHERE field = criterion Por ejemplo, suponga que desea saber el número de teléfono de un cliente, pero solo recuerda que el apellido del cliente es Bagel. En lugar de buscar en todos los números de teléfono de la base de datos, puede usar una cláusula WHERE para limitar los resultados y encontrar más fácilmente el número de teléfono deseado. Si los apellidos se almacenan en un campo denominado Apellidos, la cláusula WHERE será similar a la siguiente:: WHERE [LastName]='Bagel' NOTA No es necesario basar los criterios de la cláusula WHERE en la equivalencia de valores. Puede usar otros operadores de comparación, como mayor que (>) o menor que (<). Por ejemplo, WHERE [Precio]>100.
  • 31. 31 Usar la cláusula WHERE para combinar orígenes de datos En ocasiones, es posible que necesite combinar orígenes 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 Número y es posible que desee comparar dicho campo con un campo de otra tabla que tiene el tipo de datos Texto. No puede crear una unión entre campos que tienen distintos tipos de datos. Para combinar los datos de dos orígenes de datos basados en los valores de los campos que tienen distintos tipos de datos, debe crear una cláusula 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 la tabla2, pero solo si los datos del campo1 (campo de texto de la tabla1) coinciden con los datos del campo2 (campo numérico de la tabla2). La cláusula WHERE será similar a la siguiente: WHERE field1 LIKE field2 Para obtener más información acerca de cómo crear un criterio para usar una cláusula WHERE, vea el tema de ejemplos de criterios de consulta. Ejemplos de criterios de consulta Mostrar todo
  • 32. 32 Cuando se desea limitar los resultados de una consulta basada en los valores de un campo, se usan los criterios de consulta. Un criterio de consulta es una expresión que Access compara con los valores de los campos de consulta para determinar si se va a incluir o no el registro que contiene cada uno de los valores. Por ejemplo, = "Chicago" es una expresión que Access puede comparar con los valores de un campo de texto de una consulta. Si el valor para ese criterio en un registro determinado es "Chicago", Access incluye el registro en los resultados de la consulta. Este tema contiene varios ejemplos de criterios de consulta. En el tema, se supone que ya sabe diseñar consultas de selección sencillas. Para obtener más información acerca de las consultas,
  • 33. 33 TRABAJO CON CRITERIOS INFORMACIÓN GENERAL: Un criterio es similar a una fórmula. Es una cadena que puede estar formada por referencias de campo, operadores y constantes. Los criterios de consulta también se conocen como expresiones. En el siguiente vídeo, se muestra cómo usar los criterios para un campo de texto. En la tabla siguiente, se muestran algunos ejemplos de criterios y se explica su funcionamiento.
  • 34. 34 CRITERIO DESCRIPCIÓN >25 y <50 Este criterio se aplica a campos Número, 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", [FechaNacimiento], Fecha()) > 30 Este criterio se aplica a campos Fecha/Hora, como FechaNacimiento. En el resultado de la consulta, sólo se incluyen los registros en los que el número de años entre la 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 que se muestren los registros en los que el valor de campo sea nulo. Los criterios pueden ser muy distintos entre sí. Algunos criterios son sencillos y usan operadores básicos (como "<) y constantes (como "50"). Otros son complejos y usan funciones ("como DifFecha") o referencias de campo (como "[FechaNacimiento]"). Este tema proporciona varios ejemplos de criterios usados con frecuencia, agrupados por el tipo de
  • 35. 35 datos al que se aplican. Puede usar los ejemplos proporcionados en este tema como punto de partida para especificar sus propios criterios. Para agregar un criterio a una consulta, debe abrirla en la vista Diseño. Después, identifique los campos para los que desea especificar criterios. Si un campo para el cual desea especificar un criterio no está aún en la cuadrícula de diseño, agréguelo arrastrándolo desde la ventana de diseño de la consulta hasta la cuadrícula, o bien, haciendo doble clic en el campo. Una vez que el campo deseado está en la cuadrícula de diseño, escriba el criterio para ese campo en la fila Criterios. Usar el Generador de expresiones para escribir criterios Puede utilizar el Generador de expresiones siempre que desee usar criterios que contengan funciones. El Generador de expresiones proporciona características para ayudarle a usar todas las funciones correctamente. Para obtener más información sobre el generador de expresiones, vea el artículos sobre cómo usar el Generador de expresiones. Todos los criterios especificados en la fila Criterios están combinados Los criterios que especifique para los distintos campos de la fila Criterios se combinan mediante el operador Y. Por ejemplo, podría especificar el
  • 36. 36 criterio ="Chicago" para el campo Ciudad y el criterio < AgregFecha("aaaa", -40, Fecha()) para el campo FechaNacimiento. Los dos criterios se interpretan juntos de la siguiente manera: Ciudad = "Chicago" Y FechaNacimiento < AgregFecha("aaaa", -40, Fecha()) Los campos Ciudad y FechaNacimiento incluyen criterios. Sólo los registros cuyo valor para el campo Ciudad sea Chicago se ajustarán al criterio. Sólo los registros que tengan como mínimo 40 años de antigüedad se ajustarán al criterio.
  • 37. 37 Sólo los registros que cumplan los dos criterios se incluirán en los resultados. Especifique criterios alternativos utilizando la fila O 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 cuadrícula de diseño. 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 continuación:
  • 38. 38 Ciudad = "Chicago" O FechaNacimiento < AgregFecha("aaaa", -40, Fecha()) Si necesita especificar más 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 cambia el resultado de la consulta sin modificar el diseño de ésta. Para obtener más información sobre los filtros, vea la sección Vea también  Si los campos de los criterios no cambian pero los valores que desea sí cambian con frecuencia, puede crear una consulta de parámetros. Una consulta de parámetros solicita al usuario una entrada de datos y luego usa estos datos para crear los criterios de consulta. Para obtener más información sobre las consultas de parámetros. Criterios para campos Texto, Memo e Hipervínculo Los ejemplos siguientes son para el campo PaísRegión 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 cuadrícula de diseño.
  • 39. 39 PARA INCLUIR REGISTROS QUE USE ESTE CRITERIO RESULTADO DE LA CONSULTA Coincidan exactamente con un valor, como China "China" Devuelve los registros en los que el campo PaísRegión tiene el valor China. No coincidan con un valor, como México No "México" Devuelve los registros en los que el campo PaísRegión tiene un valor distinto de México. Empiecen por la cadena especificada, como Como U* Devuelve los registros correspondientes a todos los países o regiones cuyos nombres
  • 40. 40 U empiezan por "U", como Uruguay, Uganda, etc. NOTA Cuando se utiliza en una expresión, el asterisco (*) representa cualquier cadena de caracteres (también se lo denomina "carácter comodín"). Para obtener una lista de este tipo de caracteres, vea el artículo sobre información de referencia sobre los caracteres comodín en Access. No empiecen por la cadena especificada, como U No como U* Devuelve los registros correspondientes a todos los países o regiones cuyos nombres empiezan por un carácter distinto de "U". Contengan la cadena especificada, como Como "*Corea*" Devuelve los registros correspondientes a todos los países o regiones que contienen
  • 41. 41 Corea la cadena "Corea". No contengan la cadena especificada, como Corea No como "*Corea*" Devuelve los registros correspondientes a todos los países o regiones que no contienen la cadena "Corea". Acaben con la cadena especificada, como "ina" Como "*ina" Devuelve los registros correspondientes a todos los países o regiones cuyos nombres acaban con "ina" como China y Argentina. No acaben con la cadena especificada, como "ina" No como "*ina" Devuelve los registros correspondientes a todos los países o regiones cuyos nombres no acaban con "ina", como China y Argentina. Contengan valores nulos (o que falten) Es Nulo Devuelve los registros en los que no hay ningún valor en el campo. No contengan valores nulos No es Nulo Devuelve los registros en los que no falta el valor del campo.
  • 42. 42 Contengan cadenas de longitud cero "" (un par de comillas) 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 podrían contener un valor en blanco en el campo PaísRegión. No contengan cadenas de longitud cero No "" Devuelve los registros en los que el campo PaísRegión no tiene un valor en blanco. Contengan valores nulos o cadenas de longitud cero. "" O Es Nulo Devuelve los registros donde no hay ningún valor en el campo, o bien, el campo tiene un valor en blanco. Ni vacío ni en blanco No es Nulo Y Sin "" Devuelve los registros en los que el campo PaísRegión tiene un valor no en blanco y no nulo. Vayan a continuación de un valor, como >= "México" Devuelve los registros de todos los países o regiones a partir de México y posteriores por orden
  • 43. 43 México, si se ordenan alfabéticamente alfabético. Estén incluidos en un intervalo específico, como de la A hasta la D Como "[A-D]*" Devuelve los registros correspondientes a los países o regiones cuyos nombres empiezan por las letras "A" a la "D". Coincidan con uno de dos valores, tales como Estados Unidos o Reino Unido "Estados Unidos" O "Reino Unido" Devuelve los registros correspondientes a Estados Unidos y Reino Unido. Contengan uno de los valores de una lista En("Francia", "China", "Alemania", "Japón") Devuelve los registros correspondientes a todos los países o regiones especificados en la lista. Contengan ciertos caracteres en una posición específica Der([PaísRegión], 1) = "y" Devuelve los registros correspondientes a todos los países o regiones cuyo nombre
  • 44. 44 en el valor del campo acaba con la letra "y". Satisfagan requisitos de longitud Longitud([PaísRegión]) > 10 Devuelve los registros correspondientes a los países o regiones cuyo nombre tiene más de 10 caracteres. Coincidan con un modelo específico Como "Chi??" Devuelve los registros correspondientes a los países 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 expresión, representan un solo carácter (también se les denomina "caracteres comodín"). El carácter _ no se puede usar en la misma expresión junto con el carácter ? ni con el carácter comodín *. El
  • 45. 45 carácter comodín _ se puede usar en una expresión que también contiene el carácter comodín %. Los criterios de hipervínculos son algo difíciles De forma predeterminada, un criterio que se especifique para un campo Hipervínculo se aplica a la parte de texto visible del valor del campo y no al destino del vínculo. Para especificar los criterios para la parte correspondiente al Localizador uniforme de recursos (URL) del valor, use la expresión ParteDeHipervínculo. La sintaxis de esta expresión es la siguiente: ParteDeHipervínculo([Tabla1].[Campo1],1) = "http://www.microsoft.com/" Tabla1 es el nombre de la tabla que contiene el campo de hipervínculo, Campo1 es el campo de hipervínculo y http://www.microsoft.com es la dirección URL que desea buscar. Criterios para campos Número, Moneda y Autonumeración Los ejemplos siguientes son para el campo PrecioUnidad de una consulta basada en una tabla donde se almacena información de productos. El
  • 46. 46 criterio se especifica en la fila Criterios del campo en la cuadrícula de diseño de la consulta. PARA INCLUIR REGISTROS QUE... USE ESTE CRITERIO RESULTADO DE LA CONSULTA Coincidan exactamente con un valor, como 100 100 Devuelve los registros en los que el precio por unidad del producto es 100 $. No coincidan con un valor, como No 1000 Devuelve los registros en los que el precio por unidad del producto no es 1000 $.
  • 47. 47 1000 Contengan un valor menor que otro valor, como 100 < 100 <= 100 Devuelve los registros en los que el precio por unidad es menor que 100 $ (<100). La segunda expresión (<=100) muestra los registros en los que el precio por unidad es menor o igual que 100 $. Contengan un valor mayor que otro valor, como 99,99 >99,99 >=99,99 Devuelve los registros en los que el precio por unidad es mayor que 99,99 $ (>99,99). La segunda expresión 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 ó 25 20 o 25 Devuelve los registros en los que el precio por unidad es 20 $ ó 25 $. Contengan un valor que esté incluido en un intervalo >49,99 Y <99,99 O bien, Entre 50 Y 100 Devuelve los registros en los que el precio por unidad está entre (pero sin incluir) 49,99 $ y 99,99 $.
  • 48. 48 Contengan un valor que esté fuera de un intervalo <50 O >100 Devuelve los registros en los que el precio por unidad no está entre 50 $ y 100 $. Contengan uno entre varios valores En(20, 25, 30) Devuelve los registros en los que el precio por unidad es 20 $, 25 $ ó 30 $. Contengan un valor que acabe con los dígitos especificados 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 expresión, representan cualquier número de caracteres, que también se denominan "caracteres comodín". El carácter % no se puede usar en la misma expresión junto con el carácter * ni con el carácter comodín ?. El carácter comodín % se puede usar en una expresión que también contiene el carácter comodín _.
  • 49. 49 Contengan valores nulos (o que falten) Es Nulo Devuelve los registros en los que no se ha especificado ningún valor en el campo PrecioUnidad. Contengan valores no nulos No es Nulo 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 información de pedidos. El criterio se especifica en la fila Criterios del campo en la cuadrícula de diseño de la consulta.
  • 50. 50 PARA INCLUIR REGISTROS QUE... USE ESTE CRITERIO RESULTADO DE LA CONSULTA Coincidan exactamente con un valor, como 2/2/2006 #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 carácter #, para que Access pueda distinguir entre fechas y cadenas de texto. No coincidan con un valor, como 2/2/2006 No #2/2/2006# Devuelve los registros de las transacciones que tuvieron lugar en una fecha distinta al 2 de febrero de 2006. Contengan valores anteriores a una fecha determinada, como el 2/2/2006 < #2/2/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 <. Contengan valores> #2/2/2006# Devuelve los registros de las
  • 51. 51 posteriores a una fecha determinada, como el 2/2/2006 transacciones que tuvieron lugar después del 2 de febrero de 2006. Para ver las transacciones que tuvieron lugar en esa fecha o después, use el operador >= en lugar de >. Contengan valores que estén dentro de un intervalo de fechas >#2/2/2006# Y <#4/2/2006# Devuelve los registros de las transacciones que tuvieron lugar entre el 2 de febrero de 2006 y el 4 de febrero de 2006. También puede usar el operador Entre para filtrar según un intervalo de valores, incluidos los extremos. Por ejemplo, Entre #2/2/2006# Y #4/2/2006# es lo mismo que >#2/2/2006# Y <#2/4/2006#. Contengan valores que estén fuera de un intervalo <#2/2/2006# O >#4/2/2006# Devuelve los registros de las transacciones que tuvieron lugar antes del 2 de febrero de 2006 o después del 4 de febrero de 2006.
  • 52. 52 Contengan uno de dos valores, como 2/2/2006 o 3/2/2006 #2/2/2006# O #3/2/2006# Devuelve los registros de las transacciones que tuvieron lugar el 2 de febrero de 2006 o el 3 de febrero de 2006. Contengan uno entre varios valores En (#1/2/2006#, #1/3/2006#, #1/4/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. Contengan una fecha que sea de un mes específico (independienteme nte del año), como diciembre ParcFecha("m", [FechaVenta]) = 12 Devuelve los registros de las transacciones que tuvieron lugar en diciembre de cualquier año. Contengan una fecha que sea de un trimestre específico (independienteme nte del año), como ParcFecha("t", [FechaVenta]) = 1 Devuelve los registros de las transacciones que tuvieron lugar en el primer trimestre de cualquier año.
  • 53. 53 el primer trimestre Contengan la fecha en curso Fecha() 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. Contengan la fecha de ayer Fecha()-1 Devuelve los registros de las transacciones que tuvieron lugar en el día anterior a la fecha en curso. Si hoy es el 2/2/2006, verá los registros correspondientes al 1 de febrero de 2006. Contengan la fecha de mañana Fecha() + 1 Devuelve los registros de las transacciones que tendrán lugar en el día posterior a la fecha en curso. Si hoy es el 2/2/2006, verá los registros correspondientes al 3 de febrero de 2006. Contengan fechasParcFecha("ss", Devuelve los registros de las
  • 54. 54 que sean de la semana en curso [FechaVenta]) = ParcFecha("ss", Fecha()) Y Año( [FechaVenta]) = Año(Fecha()) transacciones que tuvieron lugar durante la semana en curso. Una semana empieza en domingo y termina en sábado. Contengan fechas que sean de la semana anterior Año([FechaVenta])* 53 + ParcFecha("ss", [FechaVenta]) = Año(Fecha())* 53 + ParcFecha("ss", Fecha()) - 1 Devuelve los registros de las transacciones que tuvieron lugar durante la semana pasada. Una semana empieza en domingo y termina en sábado. Contengan fechas que sean de la semana próxima Año([FechaVenta])* 53+ParcFecha("ss", [FechaVenta]) = Año(Fecha())* 53+ParcFecha("ss", Fecha()) + 1 Devuelve los registros de las transacciones que tendrán lugar la semana próxima. Una semana empieza en domingo y termina en sábado. Contengan fechas que sean de los 7 últimos días Entre Fecha() Y Fecha()-6 Devuelve los registros de las transacciones que tuvieron lugar durante los 7 últimos días. Si hoy es
  • 55. 55 el 2/2/2006, verá los registros correspondientes al período del 24 de enero de 2006 al 2 de febrero de 2006. Contengan una fecha que sea del mes en curso Año([FechaVenta]) = Año(Ahora()) Y Mes([FechaVenta]) = Mes(Ahora()) Devuelve los registros correspondientes al mes en curso. Si hoy es el 2/2/2006, verá los registros correspondientes a febrero de 2006. Contengan una fecha que sea del mes anterior Año([FechaVenta])* 12 + ParcFecha("m", [FechaVenta]) = Año(Fecha())* 12 + ParcFecha("m", Fecha()) - 1 Devuelve los registros correspondientes al mes pasado. Si hoy es el 2/2/2006, verá los registros correspondientes a enero de 2006. Contengan una fecha que sea del mes próximo Año([FechaVenta])* 12 + ParcFecha("m", [FechaVenta]) = Año(Fecha())* 12 + ParcFecha("m", Devuelve los registros correspondientes al mes próximo. Si hoy es el 2/2/2006, verá los registros correspondientes a marzo de 2006.
  • 56. 56 Fecha()) + 1 Contengan fechas que sean de los 30 ó 31 últimos días Entre Fecha( ) Y AgregFecha("M", -1, Fecha( )) Los registros de ventas de un período de un mes. Si hoy es el 2/2/2006, verá los registros correspondientes al período del 2 de enero de 2006 al 2 de febrero de 2006. Contengan una fecha que sea del trimestre en curso Año([FechaVenta]) = Año(Ahora()) Y ParcFecha("t", Fecha()) = ParcFecha("t", Ahora()) Devuelve los registros correspondientes al trimestre en curso. Si hoy es el 2/2/2006, verá los registros correspondientes al primer trimestre de 2006. Contengan una fecha que sea del trimestre anterior Año([FechaVenta])*4 +ParcFecha("t",[Fech aVenta]) = Año(Fecha())*4+ParcF echa("t",Fecha())- 1 Devuelve los registros correspondientes al trimestre anterior. Si hoy es el 2/2/2006, verá los registros correspondientes al último trimestre de 2005. Contengan una fecha que sea del Año([FechaVenta])*4 +ParcFecha("t",[Fech Devuelve los registros correspondientes al próximo
  • 57. 57 próximo trimestre aVenta]) = Año(Fecha())*4+ParcF echa("t",Fecha())+1 trimestre. Si hoy es el 2/2/2006, verá los registros correspondientes al segundo trimestre de 2006. Contengan fechas que sean del año en curso Año([FechaVenta]) = Año(Fecha()) Devuelve los registros correspondientes al año en curso. Si hoy es el 2/2/2006, verá los registros correspondientes al año 2006. Contengan una fecha que sea del año anterior Año([FechaVenta]) = Año(Fecha()) - 1 Devuelve los registros de las transacciones que tuvieron lugar durante el año pasado. Si hoy es el 2/2/2006, verá los registros correspondientes al año 2005. Contengan una fecha que sea del año próximo Año([FechaVenta]) = Año(Fecha()) + 1 Devuelve los registros de las transacciones con fecha en el año próximo. Si hoy es el 2/2/2006, verá los registros correspondientes al año 2007. Contengan una fecha que esté Año([FechaVenta]) = Año(Fecha()) Y Devuelve los registros de las transacciones con fechas entre el 1
  • 58. 58 entre el 1 de enero y hoy (registros del año hasta la fecha) Mes([FechaVenta]) <= Mes(Fecha()) Y Día([FechaVenta]) <= Día (Fecha()) de enero del año en curso y la fecha actual. Si hoy es el 2/2/2006, verá los registros correspondientes al período del 1 de enero de 2006 al 2 de febrero de 2006. Contengan una fecha ya pasada < Fecha() Devuelve los registros de las transacciones que tuvieron lugar antes de hoy. Contengan una fecha del futuro > Fecha() Devuelve los registros de las transacciones que tendrán lugar después de hoy. Filtren valores nulos (o que falten) Es Nulo Devuelve los registros en los que falta la fecha de la transacción. Filtren valores no nulos No es Nulo Devuelve los registros en los que se conoce la fecha de la transacción.
  • 59. 59 Criterios para otros campos TIPO DE CAMPO CÓMO APLICAR LOS CRITERIOS Sí/No En la fila Criterios, escriba Sí para incluir los registros que tengan activada la casilla de verificación. Escriba No para incluir los registros que no tengan activada la casilla de verificación. 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. Búsqueda Hay dos tipos básicos de campos de búsqueda: 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 búsqueda. Los campos de búsqueda que se basan en una lista de valores especificados son del tipo de datos Texto, y los criterios válidos son los mismos que para otros campos de texto. Los criterios que se pueden usar en un campo de búsqueda 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 búsqueda que muestra los nombres de empleados, pero usa una clave externa de tipo de datos Número. Puesto que el campo almacena un número en lugar de texto, usted utilizará criterios válidos para números, es decir, >2. Si no conoce el tipo de datos de la clave externa, puede examinar la tabla de origen en la vista Diseño para determinar
  • 60. 60 los tipos de datos de los campos. Para ello: 1. Busque la tabla de origen en el panel de navegación. 2. Abra la tabla en la vista Diseño. Para ello:  Haga clic en la tabla y, a continuación, presione CTRL+ENTRAR.  Haga clic con el botón secundario del mouse en la tabla y, a continuación, haga clic en Vista Diseño. 3. El tipo de datos de cada campo se muestra en la columna Tipo de datos de la cuadrícula de diseño de la tabla. 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 Diseño 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 ello: 1. Cree una consulta que contenga el campo multivalor y ábrala en la vista Diseño. 2. Expanda el campo multivalor haciendo clic en el signo más (+) 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. 3. Arrastre el campo multivalor y su campo de valor único a columnas distintas en la cuadrícula de diseño. Si desea ver sólo el campo multivalor completo en los resultados, desactive la casilla de verificación Mostrar correspondiente al campo de valor único.
  • 61. 61 4. Escriba los criterios en la fila Criterios correspondiente al campo de valor único, utilizando criterios apropiados según cuál sea el tipo de datos de los valores. Cada valor del campo multivalor se puede evaluar individualmente mediante los criterios que especifique. Por ejemplo, suponga que tiene un campo multivalor para almacenar una lista de números. 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 aparecerán en los resultados.
  • 62. 62 BIBLIOGRAFÍA Access 2010. Alfredo Rico Mariano Ordás Fernández Manual Rápido de Microsoft Access 2010 www.ebriik.com http://dominandoaccess.com/blog