Ejemplos de Expresiones
Transcript of Ejemplos de Expresiones
Ejemplos de expresiones
Corresponde a: Microsoft Office Access 2007
Imprimir
Este artículo incluye ejemplos de expresiones. Una expresión es la combinación de
operadores matemáticos o lógicos, constantes, funciones, campos de tabla, controles y
propiedades que devuelve un solo valor. Las expresiones se pueden usar para calcular
valores, validar datos y definir un valor predeterminado para un campo o control.
Nota Si bien en este artículo se describen los pasos básicos para crear expresiones, no es
una guía exhaustiva del uso de las herramientas que proporciona Microsoft Office Access
2007 para crear expresiones. Para obtener más información sobre la creación de
expresiones, vea el artículo Crear una expresión.
En este artículo
Información sobre las expresiones
Ejemplos de expresiones que se usan en formularios e informes
Ejemplos de expresiones que se usan en consultas y filtros
Ejemplos de expresiones de valor predeterminado
Ejemplos de expresiones de regla de validación de campo
Ejemplos de expresiones de condiciones de macro
Información sobre las expresiones
En Office Access 2007, el término expresión es sinónimo de fórmula. Una expresión se
compone de varios elementos posibles que se pueden usar, solos o en combinación, para
obtener un resultado. Esos elementos son:
Identificadores: los nombres de campos de tabla o de controles en formularios o
informes, o bien, las propiedades de esos campos o controles
Operadores, como + (más) o - (menos)
Funciones, como SUMA o PROMEDIO
Constantes: valores que no cambian, como cadenas de texto o números no
calculados por una expresión
Las expresiones se pueden usar de varias maneras, entre otras para: realizar un cálculo,
recuperar el valor de un control o proporcionar criterios a una consulta.
Para obtener más información sobre cómo y dónde se usan las expresiones, vea el artículo
Crear una expresión.
Volver al principio
Ejemplos de expresiones que se usan en formularios e
informes
Las tablas que figuran en esta sección incluyen ejemplos de expresiones que calculan un
valor en un control ubicado en un formulario o informe. Para crear un control calculado, se
escribe una expresión en la propiedad Origen del control del control en vez de escribirla
en un campo de tabla o consulta.
En los siguientes pasos se explica cómo escribir una expresión en un control de cuadro de
texto ubicado en un formulario o informe existente.
Crear un control calculado
1. En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en
el formulario o informe que desee cambiar y, a continuación, haga clic en Vista
Diseño en el menú contextual.
2. En el formulario o informe, haga clic con el botón secundario del mouse en el
control de cuadro de texto que desee cambiar (y no en la etiqueta asociada al cuadro
de texto) y, a continuación, haga clic en Propiedades en el menú contextual.
3. Si es necesario, haga clic en la ficha Todas o la ficha Datos. En ambas fichas figura
la propiedad Origen del control.
4. Haga clic en el cuadro situado junto a la propiedad Origen del control y escriba la
expresión. Por ejemplo, puede copiar y pegar una expresión de la columna
denominada Expresión que aparece en la tabla de la siguiente sección.
5. Cierre la hoja de propiedades.
Expresiones que combinan o manipulan texto
En las expresiones de la siguiente tabla se usan los operadores & (y comercial) y + (más)
para combinar cadenas de texto, usar funciones incorporadas para manipular una cadena de
texto o realizar alguna otra operación con texto para crear un control calculado.
Expresión Resultado
="N/A" Muestra N/A.
=[Nombre] & " " & [Apellidos]
Muestra los valores que residen en los campos de
tabla Nombre y Apellidos. En este ejemplo, se usa
el operador & para combinar el campo Nombre, un
carácter de espacio (entre comillas) y el campo
Apellidos.
=Izq([Nombre de producto], 1)
Usa la función Izq para mostrar el primer carácter
del valor de un campo o control denominado
Nombre de producto.
=Der([Código de activo], 2) Usa la función Der para mostrar los dos últimos
caracteres del valor de un campo o control
denominado Código de activo.
=Recortar([Dirección]) Usa la función Recortar para mostrar el valor del
control Dirección sin espacios iniciales o finales.
=SiInm(EsNulo([Región]), [Ciudad] &
" " & [Código postal], [Ciudad] & " "
& [Región] & " " & [Código postal])
Usa la función SiInm para mostrar los valores de
los controles Ciudad y Código postal si el valor del
control Región es nulo; en caso contrario, muestra
los valores de los controles Ciudad, Región y
Código postal, separados por espacios.
=[Ciudad] & (" " + [Región]) & " " &
[Código postal]
Usa el operador + y la propagación de valores
nulos para mostrar los valores de los controles
Ciudad y Código postal si el valor del campo d
control Región es nulo; en caso contrario, muestra
los valores de los campos o controles Ciudad,
Región y Código postal, separados por espacios.
La propagación de valores nulos significa que si
algún componente de una expresión es nulo, toda la
expresión será nula. El operador + admite la
propagación de valores nulos; el operador & no la
admite.
Expresiones en encabezados y pies
Se usan las propiedades Página y Páginas para mostrar o imprimir números de página en
los formularios o informes. Las propiedades Página y Páginas están únicamente
disponibles durante la impresión o en la vista preliminar. No aparecen en la hoja de
propiedades de los formularios o informes. Estas propiedades suelen usarse colocando un
cuadro de texto en la sección de encabezado o pie del formulario o informe y usando una
expresión como las que se muestran en la siguiente tabla.
Para obtener más información sobre el uso de los encabezados y pies en los formularios e
informes, vea el artículo Insertar números de página en un formulario o informe.
Expresión Resultado de ejemplo
=[Página] 1
="Página " & [Página] Página 1
="Página " & [Página] & " de " & [Páginas] Página 1 de 3
=[Página] & " de " & [Páginas] & " Páginas" 1 de 3 Páginas
=[Página] & "/" & [Páginas] & " Páginas" 1/3 Páginas
=[País o región] & " - " & [Página] Reino Unido - 1
=Formato([Página], "000") 001
="Impreso el: " & Fecha() Impreso el: 31/12/07
Expresiones que realizan operaciones aritméticas
Se pueden usar expresiones para restar, multiplicar y dividir los valores de dos o más
campos o controles. Se pueden usar asimismo para realizar operaciones aritméticas con
fechas. Por ejemplo, supongamos que tiene un campo de tabla de tipo Fecha/Hora
denominado FechaRequerida. En el campo, o en un control enlazado al campo, la expresión
=[FechaRequerida] - 2 devuelve un valor de fecha/hora igual a dos días antes de los
actuales valores del campo FechaRequerida.
Expresión Resultado
=[Subtotal]+[Transporte] Suma de los valores de los campos o controles
denominados Subtotal y Transporte.
=[FechaRequerida]-[FechaEnvío]
Intervalo entre los valores de fecha de los campos o
controles denominados FechaRequerida y
FechaEnvío.
=[Precio]*1,06
Producto del valor del campo o control denominado
Precio y 1,06 (suma un 6 por ciento al valor de
Precio).
=[Cantidad]*[Precio] Producto de los valores de los campos o controles
denominados Cantidad y Precio.
=[TotalEmpleado]/[TotalPaísRegión] Cociente de los valores de los campos o controles
denominados TotalEmpleado y TotalPaísRegión.
Nota Cuando se usa un operador aritmético (+, -, * y /) en una expresión y el valor de uno
de los controles en la expresión es nulo, el resultado de toda la expresión será nulo. Esto se
conoce como la propagación de valores nulos. Si algún registro de uno de los controles que
se usan en la expresión tiene un valor nulo, se puede evitar la propagación de valores nulos
convirtiendo el valor nulo en cero mediante la función Nz; por ejemplo,
=Nz([Subtotal])+Nz([Transporte]).
Para obtener más información sobre la función, vea el artículo Nz (función).
Expresiones que hacen referencia a valores de otros campos o controles
A veces se necesita un valor que existe en alguna otra parte, como un campo o control
ubicado en otro formulario o informe. Se puede usar una expresión para que se devuelva el
valor de otro campo o control.
La siguiente tabla contiene ejemplos de expresiones que se pueden usar en los controles
calculados ubicados en formularios.
Expresión Resultado
=Formularios![Pedidos]![IdPedido] Valor del control IdPedido en el formulario
Pedidos.
=Formularios![Pedidos]![Subformulario
Pedidos].Formulario![SubtotalPedido]
Valor del control SubtotalPedido en el
subformulario denominado Subformulario
Pedidos del formulario Pedidos.
=Formularios![Pedidos]![Subformulario
Pedidos]![IdProducto].Columna(2)
Valor de la tercera columna de IdProducto, un
cuadro de lista de columnas múltiples en el
subformulario denominado Subformulario
Pedidos del formulario Pedidos. (Observe que
0 hace referencia a la primera columna, 1 a la
segunda, y así sucesivamente).
=Formularios![Pedidos]![Subformulario
Pedidos]![Precio] * 1,06
Producto del valor del control Precio ubicado
en el subformulario denominado
Subformulario Pedidos del formulario
Pedidos y 1,06 (suma el 6 por ciento al valor
del control Precio).
=Parent![IdPedido] Valor del control IdPedido ubicado en el
formulario principal del actual subformulario.
Las expresiones en la siguiente tabla muestran algunas de las formas de calcular controles
calculados ubicados en informes. Las expresiones hacen referencia a la propiedad
Informe.
Para obtener más información sobre esta propiedad, vea el artículo Informe (propiedad).
Expresión Resultado
=Informe![Factura]![IdPedido] Valor del control denominado "IdPedido" en el
informe denominado "Factura".
=Informe![Resumen]![Subinforme
Resumen]![Total Ventas]
Calor del control denominado Total Ventas
ubicado en el subinforme denominado
Subinforme Resumen del informe denominado
Resumen.
=Parent![IdPedido] Valor del control denominado IdPedido en el
formulario principal del actual subinforme.
Expresiones que realizan un recuento, suman y calculan el promedio de
valores
Se puede usar un tipo de función denominado función de agregado para calcular los valores
de uno o varios campos o controles. Por ejemplo, se puede calcular un total de grupo para
el pie de grupo de un informe, o bien, el subtotal de un pedido de artículos de línea en un
formulario. Asimismo, se puede realizar un recuento de los elementos de uno o varios
campos o calcular un promedio.
Las expresiones que figuran en la siguiente tabla muestran algunas de las formas de usar las
funciones Promedio, Cuenta y Suma.
Expresión Descripción
=Promedio([Transporte])
Usa la función Promedio para mostrar el promedio de los
valores de un campo de tabla o control denominado
"Transporte".
=Cuenta([IdPedido]) Usa la función Cuenta para mostrar el número de registros
en el control denominado IdPedido.
=Suma([Ventas]) Usa la función Suma para mostrar la suma de los valores
del control denominado Ventas.
=Suma([Cantidad]*[Precio])
Usa la función Suma para mostrar la suma del producto de
los valores de los controles denominados Cantidad y
Precio.
=[Ventas]/Suma([Ventas])*100
Muestra el porcentaje de ventas, determinado por la
división del valor del control denominado Ventas entre la
suma de todos los valores del control Ventas.
Nota Si establece la propiedad Formato del control en
Porcentaje, no incluya *100 en la expresión.
Para obtener más información sobre cómo usar las funciones de agregado y sumar los
valores de campos y columnas, vea los artículos Sumar datos mediante una consulta,
Contar datos mediante una consulta, Contar las filas de una hoja de datos y Mostrar totales
de columna en una hoja de datos.
Expresiones que realizan un recuento, suman y buscan valores de manera
selectiva mediante funciones de agregado de dominio
Se usa un tipo de función denominado función de agregado de dominio para realizar un
recuento o sumar valores de manera selectiva. Un "dominio" se compone de uno o varios
campos en una o varias tablas, o bien, de uno o varios controles ubicados en uno o varios
formularios o informes. Por ejemplo, se pueden hacer coincidir los valores de un campo de
tabla con los valores de un control ubicado en un formulario.
Expresión Descripción
=DBúsq("[Nombre de contacto]", "[Proveedores]", "[Id. de
proveedor] = " & Formularios("Proveedores")("[Id. de
proveedor]"))
Usa la función DBúsq para
devolver el valor del campo
Nombre de contacto de la tabla
denominada Proveedores
donde el valor del campo Id.
de proveedor de la tabla
coincida con el valor del
control Id. de proveedor
ubicado en el formulario
denominado Proveedores.
=DBúsq("[Nombre de contacto]", "[Proveedores]", "[Id. de Usa la función DBúsq para
proveedor] = " & Formularios![Nuevos proveedores]![Id.
de proveedor])
devolver el valor del campo
Nombre de contacto de la tabla
denominada Proveedores
donde el valor del campo Id.
de proveedor de la tabla
coincida con el valor del
control Id. de proveedor
ubicado en el formulario
denominado Nuevos
proveedores.
=DSuma("[Importe de pedido]", "[Pedidos]", "[Id. de
cliente] = 'RATTC'")
Usa la función DSuma para
devolver el total de los valores
del campo Importe de pedido
de la tabla denominada
Pedidos donde el Id. de cliente
sea RATTC.
=DCuenta("[Retirados]","[Activos]","[Retirados]=Sí")
Usa la función DCuenta para
devolver el número de valores
Sí en el campo Retirados
(campo de tipo Sí/No) de la
tabla denominada Activos.
Expresiones que manipulan y calculan fechas
El registro de fechas y horas es una actividad fundamental de las bases de datos. Por
ejemplo, se puede calcular cuántos días han transcurrido desde la fecha de factura para
determinar la antigüedad de las cuentas por cobrar. Se puede aplicar formato a las fechas y
horas de numerosas maneras, tal y como se muestra en la siguiente tabla.
Expresión Descripción
=Fecha()
Usa la función Fecha para mostrar la fecha actual con el
formato mm-dd-aa, donde mm es el mes (del 1 al 12), dd es el
día (del 1 al 31) y aa representa los dos últimos dígitos del año
(de 1980 a 2099).
=Formato(Ahora(), "ss")
Usa la función Formato para mostrar el número de semana del
año correspondiente a la actual fecha, donde ss representa las
semanas del 1 al 53.
=ParcFecha("aaaa",
[FechaPedido])
Usa la función ParcFecha para mostrar el año de cuatro dígitos
correspondiente al valor del control denominado IdPedido.
=AgregFecha("a", -10,
[Fecha prometida])
Usa la función AgregFecha para mostrar la fecha
correspondiente a 10 días antes del valor del control
denominado Fecha prometida.
=DifFecha("d",
[FechaPedido],
Usa la función DifFecha para mostrar la diferencia en número
de días entre los valores de los controles denominados
[FechaEnvío]) FechaPedido y FechaEnvío.
=[FechaFactura] + 30
Usa operaciones aritméticas con fechas para calcular la fecha
correspondiente a 30 días después de la fecha del campo o
control denominado FechaFactura.
Expresiones condicionales que devuelven uno de dos posibles valores
Las expresiones de ejemplo que figuran en la siguiente tabla usan la función SiInm para
devolver uno de dos posibles valores. A la función SiInm se le pasan tres argumentos. El
primer argumento es una expresión que tiene que devolver el valor True o False. El
segundo argumento es el valor que se va a devolver si la expresión tiene el valor True y el
tercer argumento es el valor que se va a devolver si la expresión es False.
Expresión Descripción
=SiInm([Confirmado] = "Sí", "Pedido
confirmado", "Pedido sin confirmar")
Usa la función SiInm para que se muestre el
mensaje "Pedido confirmado" si el valor del
control Confirmado es Sí; en caso contrario,
se muestra el mensaje "Pedido sin
confirmar".
=SiInm(EsNulo([País o región]), " ", [País])
Usa las funciones SiInm y EsNulo para que
se muestre una cadena vacía si el valor del
control País o región es nulo; en caso
contrario, se muestra el valor del control País
o región.
=IIf(EsNulo([Región]),[Ciudad]&" "&
[CódigoPostal], [Ciudad]&" "&[Región]&" "
&[CódigoPostal])
Usa las funciones SiInm y EsNulo para que
se muestren los valores de los controles
denominados Ciudad y Código postal si el
valor del control denominado Región es nulo;
en caso contrario, se muestran los valores de
los campos o controles Ciudad, Región y
Código postal.
=SiInm(EsNulo([FechaRequerida]) O
EsNulo([FechaEnvío]), "Comprobar si falta
una fecha", [FechaRequerida] -
[FechaEnvío])
Usa las funciones SiInm y EsNulo para que
se muestre el mensaje "Comprobar si falta
una fecha" si el resultado de restar
FechaEnvío de FechaRequerida es nulo; en
caso contrario, se muestra el intervalo entre
los valores de fecha de los controles
denominados FechaRequerida y FechaEnvío.
Volver al principio
Ejemplos de expresiones que se usan en consultas y
filtros
Esta sección contiene ejemplos de expresiones que se pueden usar para crear un campo
calculado en una consulta o para proporcionar criterios a una consulta. Un campo calculado
es una columna de una consulta que es el resultado de una expresión. Por ejemplo, se puede
calcular un valor, combinar valores de texto como nombres y apellidos, o bien, aplicar
formato a una parte de una fecha.
Se usan criterios en una consulta para limitar los registros con los que se trabaja. Por
ejemplo, se puede usar el operador Entre para proporcionar una fecha inicial y una fecha
final y limitar los resultados de la consulta a los pedidos enviados entre esas fechas.
En las siguientes secciones se explica cómo agregar un campo calculado a una consulta y se
incluyen ejemplos de expresiones que se pueden usar en las consultas.
Agregar un campo calculado en la vista Diseño de la consulta
1. En el panel de exploración, haga clic con el botón secundario en la consulta que
desea cambiar y después haga clic en Vista Diseño en el menú contextual.
2. Haga clic en la celda Campo de la columna en la que desee crear el campo
calculado. Puede especificar un nombre para el campo seguido de dos puntos, o
bien, puede escribir la expresión. Si no especifica un nombre, Access agrega
Exprn:, donde n es un número secuencial.
3. Escriba la expresión.
O bien,
En la ficha Diseño, en el grupo Configuración de consultas, haga clic en Generador para
iniciar el Generador de expresiones.
Para obtener más información sobre el uso del Generador de expresiones, vea el artículo
Crear una expresión.
Expresiones que manipulan el texto de una consulta o un filtro
En las expresiones de la siguiente tabla se usan los operadores & y + para combinar
cadenas de texto, usar funciones incorporadas para manipular una cadena de texto o realizar
alguna otra operación con texto para crear un campo calculado.
Expresión Descripción
NombreCompleto: [Nombre] & " "
& [Apellidos]
Crea un campo denominado NombreCompleto que
muestre los valores de los campos denominados
Nombre y Apellidos, separados por un espacio.
Dirección2: [Ciudad] & " " &
[Región] & " " & [Código postal]
Crea un campo denominado Dirección2 que muestre
los valores de los campos Ciudad, Región y Código
postal, separados por espacios.
InicialProducto:Izq([Nombre de Crea un campo denominado InicialProducto y, a
producto], 1) continuación, usa la función Izq para mostrar en el
campo denominado InicialProducto el primer carácter
del valor del campo Nombre de producto.
CódigoTipo: Der([Código de
activo], 2)
Crea un campo denominado CódigoTipo y, a
continuación, usa la función Der para mostrar los dos
últimos caracteres de los valores del campo Código de
activo.
CódigoÁrea: Medio([Teléfono],2,3)
Crea un campo denominado CódigoÁrea y, a
continuación, usa la función Medio para mostrar los
tres caracteres a partir del segundo carácter del valor
del campo Teléfono.
Expresiones que realizan operaciones aritméticas en campos calculados
Se pueden usar expresiones para restar, multiplicar y dividir los valores de dos o más
campos o controles. Asimismo, se pueden realizar operaciones aritméticas con fechas. Por
ejemplo, supongamos que tiene un campo de tipo Fecha/Hora denominado
FechaRequerida. La expresión =[FechaRequerida] - 2 devuelve un valor de Fecha/Hora
igual a dos días antes del valor del campo FechaRequerida.
Expresión Descripción
TransporteBásico: [Transporte] * 1.1
Crea un campo denominado TransporteBásico y,
a continuación, muestra los gastos de transporte
más un 10 por ciento en el campo.
ImportePedido: [Cantidad] *
[PrecioUnidad]
Crea un campo denominado ImportePedido y, a
continuación, muestra el producto de los valores
de los campos Cantidad y PrecioUnidad.
TiempoDeEspera: [FechaRequerida] -
[FechaEnvío]
Crea un campo denominado TiempoDeEspera y, a
continuación, muestra la diferencia entre los
valores de los campos FechaRequerida y
FechaEnvío.
TotalExistencias: [Unidades en
existencias]+[Unidades de pedido]
Crea un campo denominado TotalExistencias y, a
continuación, muestra la suma de los valores de
los campos Unidades en existencias y Unidades
de pedido.
PorcentajeTransporte:
Suma([Transporte])/Suma([Subtotal])
*100
Crea un campo denominado PorcentajeTransporte
y, a continuación, muestra el porcentaje de los
gastos de transporte en cada subtotal. Esta
expresión usa la función Suma para sumar los
valores del campo Transporte y, a continuación,
divide esos totales entre la suma de los valores del
campo Subtotal.
Para usar esta expresión, debe convertir la
consulta de selección en una consulta de totales
porque debe usar la fila Total en la cuadrícula de
diseño, y debe establecer la celda Total de este
campo en Expresión.
Para obtener más información sobre la creación
de una consulta de totales, vea el artículo Sumar
datos mediante una consulta.
Si establece la propiedad Formato del campo en
Porcentaje, no incluya *100.
Para obtener más información sobre cómo usar las funciones de agregado y sumar los
valores de campos y columnas, vea los artículos Sumar datos mediante una consulta,
Contar datos mediante una consulta, Contar las filas de una hoja de datos y Mostrar totales
de columna en una hoja de datos.
Expresiones que manipulan y realizan cálculos con fechas en campos
calculados
Casi todas las bases de datos almacenan y registran fechas y horas. Para trabajar con fechas
y horas en Access, establezca los campos de fecha y hora de las tablas en el tipo de datos
Fecha/Hora. Access puede realizar operaciones aritméticas con fechas; por ejemplo, se
puede calcular cuántos días han transcurrido desde la fecha de factura para determinar la
antigüedad de las cuentas por cobrar.
Expresión Descripción
Intervalo: DifFecha("d", [FechaPedido],
[FechaEnvío])
Crea un campo denominado Intervalo y, a
continuación, usa la función DifFecha para
mostrar el número de días entre la fecha de
pedido y la fecha de envío.
AñoContratación:
ParcFecha("aaaa",[FechaContratación])
Crea un campo denominado AñoContratación
y, a continuación, usa la función ParcFecha
para mostrar el año en que se contrató a cada
empleado.
MenosTreinta: Fecha( )- 30
Crea un campo denominado MenosTreinta y, a
continuación, usa la función Fecha para
mostrar la fecha 30 días anterior a la fecha
actual.
Expresiones que realizan un recuento, suman y calculan el promedio de
valores mediante funciones de agregado SQL o funciones de agregado de
dominio
Las expresiones que figuran en la siguiente tabla usan funciones SQL (Lenguaje de
consulta estructurado) que suman o resumen datos. A estas funciones (por ejemplo, Suma,
Cuenta y Promedio) se suele hacer referencia con el término funciones de agregado.
Además de las funciones de agregado, Access proporciona asimismo funciones de agregado
de "dominio" que se usan para sumar o contar valores de manera selectiva. Por ejemplo,
puede realizar un recuento sólo de los valores comprendidos en un intervalo determinado o
buscar un valor de otra tabla. El conjunto de funciones de agregado de dominio incluye la
función DSuma, la función DCuenta y la función DProm.
Para calcular totales, a menudo necesitará crear una consulta de totales. Por ejemplo, para
resumir por grupo, necesitará usar una consulta de totales. Para habilitar una consulta de
totales desde la cuadrícula de diseño de la consulta, haga clic en Totales en el menú Ver.
Expresión Descripción
NúmeroFilas:Cuenta(*)
Crea un campo denominado NúmeroFilas y, a
continuación, usa la función Cuenta para contar
el número de registros de la consulta, incluidos
los registros con campos nulos (en blanco).
PorcentajeTransporte:
Suma([Transporte])/Suma([Subtotal])
*100
Crea un campo denominado PorcentajeTransporte
y, a continuación, calcula el porcentaje de los
gastos de transporte en cada subtotal mediante la
división de la suma de valores del campo
Transporte y la suma de los valores del campo
Subtotal. (En este ejemplo, se usa la función
Suma.)
Nota Esta expresión debe usarse con una
consulta de totales. Si establece la propiedad
Formato del campo en Porcentaje, no incluya
*100.
.
Para obtener más información sobre la creación
de una consulta de totales, vea el artículo Sumar
datos mediante una consulta.
TransporteMedio:
DProm("[Transporte]", "[Pedidos]")
Crea un campo denominado TransporteMedio y, a
continuación, usa la función DProm para calcular
el promedio de los gastos de transporte de todos
los pedidos combinados en una consulta de
totales.
Expresiones para trabajar con campos que contienen información que falta
(campos con valores nulos)
Las expresiones que se muestran a continuación funcionan con campos que contienen
información que falta, como los campos que contienen valores nulos (valores desconocidos
o sin definir). Con frecuencia se puede topar con valor nulos, como un precio desconocido
de un nuevo producto o un valor que un compañero olvidó agregar a un pedido. La
capacidad de buscar y procesar los valores nulos puede ser una parte importante de las
operaciones de las bases de datos. Las expresiones que figuran en la siguiente tabla
muestran algunas de las formas comunes para abordar los valores nulos.
Expresión Descripción
PaísRegiónActual:SiInm(EsNulo([PaísRegión]), " ",
[PaísRegión])
Crea un campo denominado
PaísRegiónActual y, a continuación,
usa las funciones SiInm y EsNulo
para que se muestre una cadena vacía
en ese campo si el campo PaísRegión
contiene un valor nulo; en caso
contrario, se muestra el contenido del
campo PaísRegión.
TiempoDeEspera:
=SiInm(EsNulo([FechaRequerida] - [FechaEnvío]),
"Comprobar si falta una fecha", [FechaRequerida] -
[FechaEnvío])
Crea un campo denominado
TiempoDeEspera y, a continuación,
usa las funciones SiInm y EsNulo
para que se muestre el mensaje
"Comprobar si falta una fecha" si el
valor del campo FechaRequerida o del
campo FechaEnvío es nulo; en caso
contrario, se muestra la diferencia
entre las fechas.
VentasSemestrales: Nz([VentasPrimerTrimestre]) +
Nz([VentasSegundoTrimestre])
Crea un campo denominado
VentasSemestrales y, a continuación,
muestra el total de los valores de los
campos VentasPrimerTrimestre y
VentasSegundoTrimestre usando
primero la función Nz para convertir
los valores nulos en cero.
Expresión que usa una subconsulta para crear un campo calculado
Puede usar una consulta anidada, que también se conoce por el término subconsulta, para
crear un campo calculado. La expresión que figura en la siguiente tabla es un ejemplo de un
campo calculado generado a partir de una subconsulta.
Expresión Descripción
Cat: (SELECT [NombreCategoría] FROM [Categorías]
WHERE
[Productos].[IdCategoría]=[Categorías].[IdCategoría])
Crea un campo denominado
Cat y, a continuación, muestra
el nombre de categoría si el
Id. de categoría de la tabla
Categorías es el mismo que el
Id. de categoría de la tabla
Productos.
Expresiones que definen criterios y limitan los registros en el conjunto de
resultados
Puede usar expresiones para definir los criterios de una consulta. Access devolverá
únicamente las filas que cumplan los criterios. Los pasos que se describen en esta sección
proporcionan información básica sobre cómo agregar criterios a una consulta. Las tablas de
esta sección contienen ejemplos de criterios para hacer coincidir valores de texto y valores
de fecha.
Agregar criterios a una consulta
1. En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en
la consulta que desee modificar y después haga clic en Vista Diseño en el menú
contextual.
2. En la fila Criterios de la cuadrícula de diseño, haga clic en la celda de la columna
que desee usar y, a continuación, escriba los criterios.
Si desea disponer de un área más amplia para escribir la expresión, presione MAYÚS+F2
para mostrar el cuadro de diálogo Zoom.
O bien,
En la ficha Diseño, en el grupo Configuración de consultas, haga clic en Generador
para iniciar el Generador de expresiones y crear la expresión.
Nota Al crear expresiones para definir criterios, no anteponga el operador = a las
expresiones.
Para obtener más información sobre el uso del Generador de expresiones, vea el artículo
Crear una expresión.
Expresiones que hacen coincidir valores de texto completos o parciales
Las expresiones de ejemplo que figuran en esta tabla muestran criterios que hacen coincidir
valores de texto completos o parciales.
Campo Expresión Descripción
CiudadEnvío "Londres" Muestra los pedidos enviados a Londres.
CiudadEnvío "Londres" O "Hedge
End"
Usa el operador O para mostrar los pedidos
enviados a Londres o Hedge End.
RegiónCiudadEnvío En("Canadá", "Reino
Unido")
Usa el operador En para mostrar los pedidos
enviados a Canadá o al Reino Unido.
RegiónCiudadEnvío No "EE.UU."
Usa el operador No para mostrar los pedidos
enviados a países o regiones que no sean los
Estados Unidos.
NombreProducto No como "C*"
Usa el operador No y el carácter comodín *
para mostrar los productos cuyo nombre no
comience por C.
NombreCompañía >="N"
Muestra los pedidos enviados a las
compañías cuyo nombre comience por las
letras comprendidas entre la N y la Z.
CódigoProducto Der([CódigoProducto],
2)="99"
Usa la función Der para mostrar los pedidos
cuyo valor de CódigoProducto acabe en 99.
NombreEnvío Como "S*" Muestra los pedidos enviados a clientes
cuyo nombre comience con la letra S.
Expresiones que usan fechas en los criterios
Las expresiones que figuran en la siguiente tabla muestran el uso de fechas y funciones
relacionadas en las expresiones de criterios.
Para obtener más información sobre cómo especificar y usar los valores de fecha, vea el
artículo Especificar un valor de fecha u hora. Para obtener información sobre el uso de las
funciones en estas expresiones de ejemplo, haga clic en los vínculos a los diversos temas de
funciones.
Campo Expresión Descripción
FechaEnvío #02.02.2007# Muestra los pedidos enviados
el 2 de febrero de 2007.
FechaEnvío Fecha( ) Muestra los pedidos enviados
hoy.
FechaObligatoria Entre Fecha( ) Y AgregFecha("m", 3,
Fecha( ))
Usa el operador Entre...Y así
como las funciones
AgregFecha y Fecha para
mostrar los pedidos
requeridos entre la fecha de
hoy y tres meses a partir de la
fecha actual.
FechaPedido < Fecha() - 30
Usa la función Fecha para
mostrar los pedidos con una
antigüedad de más de 30
días.
FechaPedido Año([FechaPedido])=2007 Usa la función Año para
mostrar los pedidos cuya
fecha de pedido corresponda
al 2007.
FechaPedido ParcFecha("t", [FechaPedido])=4
Usa la función ParcFecha
para mostrar los pedidos
correspondientes al cuarto
trimestre de calendario.
FechaPedido SerieFecha(Año ([FechaPedido]),
Mes([FechaPedido])+1, 1)-1
Usa las funciones
SerieFecha, Año y Mes para
mostrar los pedidos
correspondientes al último
día de cada mes.
FechaPedido Año([FechaPedido])= Año(Ahora()) Y
Mes([FechaPedido])= Mes(Ahora())
Usa las funciones Año y Mes
así como el operador Y para
mostrar los pedidos
correspondientes al año y al
mes actuales.
FechaEnvío Entre #05.01.2007# y #10.01.2007#
Usa el operador Entre...Y
para mostrar los pedidos
enviados después del 5 de
enero de 2007 y antes del 10
de enero de 2007.
FechaObligatoria Entre Fecha() Y AgregFecha("M", 3,
Fecha())
Usa el operador Entre...Y
para mostrar los pedidos
requeridos entre la fecha de
hoy y tres meses a partir de la
fecha actual.
Fecha de
nacimiento Mes([FechaNacimiento])=Mes(Fecha())
Usa las funciones Mes y
Fecha para mostrar a los
empleados cuyo cumpleaños
se celebre este mes.
Expresiones que hacen coincidir un valor que falta (valor nulo) o una cadena
de longitud cero
Las expresiones que figuran en la siguiente tabla funcionan con campos que contienen
información que puede faltar; es decir, los campos que contienen un valor nulo o una
cadena de longitud cero. Un valor nulo representa la falta de información; no representa un
cero ni ningún otro valor. Access admite esta idea de información que falta porque el
concepto es fundamental para la integridad de una base de datos. En el mundo real, a
menudo falta información, aunque sea temporalmente (por ejemplo, el precio aún sin
determinar de un nuevo producto). Por ello, una base de datos que represente una entidad
del mundo real como puede ser una empresa, deberá poder registrar la información como
información que falta. Puede usar la función EsNulo para determinar si un campo o control
contiene un valor nulo y puede usar la función Nz para convertir los valores nulos en cero.
Campo Expresión Descripción
RegiónEnvío Es Nulo Muestra los pedidos de los clientes cuyo campo RegiónEnvío sea
nulo (información que falta).
RegiónEnvío No es
Nulo
Muestra los pedidos de los clientes cuyo campo RegiónEnvío
contenga un valor.
Fax ""
Muestra los pedidos de los clientes que no tienen una máquina de
fax, lo que se indica mediante un valor de cadena de longitud cero
en el campo Fax en lugar de un valor nulo (información que falta).
Expresiones que usan modelos para hacer coincidir los registros
El operador Como permite una gran flexibilidad cuando se intenta hacer coincidir filas que
cumplen un modelo, porque Como puede usarse con caracteres comodón y se pueden
definir modelos que Access debe hacer coincidir. Por ejemplo, el carácter comodín *
(asterisco) hace coincidir una secuencia de caracteres de cualquier tipo y permite buscar
con facilidad todos los nombres que empiecen por una letra. Por ejemplo, la expresión
Como "S*" se usa para buscar todos los nombres que comiencen con la letra S.
Para obtener más información, vea el artículo Como (operador).
Campo Expresión Descripción
NombreEnvío Como "S*" Busca todos los registros del campo NombreEnvío que
empiecen con la letra S.
NombreEnvío Como
"*Importaciones"
Busca todos los registros del campo NombreEnvío que
terminen con la palabra Importaciones.
NombreEnvío Como "[A-D]*" Busca todos los registros del campo NombreEnvío que
comiencen con la letra A, B, C ó D.
NombreEnvío Como "*ar*" Busca todos los registros del campo NombreEnvío que
incluyan la secuencia de letras "ar".
NombreEnvío Como "Casa
Dewe?"
Busca todos los registros del campo NombreEnvío que
incluyan "Casa" en la primera parte del valor y una
cadena de cinco letras donde las cuatro primeras letras
son "Dewe" y la última letra es desconocida.
NombreEnvío No como "A*" Busca todos los registros del campo NombreEnvío que
no empiecen con la letra A.
Expresiones que hacen coincidir filas basándose en el resultado de una
función de agregado de dominio
Se usa una función de agregado de dominio para sumar, contar o calcular el promedio de
valores de manera selectiva. Por ejemplo, para contar sólo los valores comprendidos en un
intervalo determinado o cuyo valor es Sí. O bien, para buscar un valor de otra tabla y
mostrarlo. Las expresiones de ejemplo que figuran en la siguiente tabla usan funciones de
agregado de dominio para realizar un cálculo con un conjunto de valores y usar el resultado
como criterios de la consulta.
Campo Expresión Descripción
Transporte
> (DDesvEst("[Transporte]",
"Pedidos") +
DProm("[Transporte]", "Pedidos"))
Usa las funciones DDesvEst y DProm
para mostrar todos los pedidos cuyos
gastos de transporte sean mayores que el
promedio más la desviación estándar de los
gastos de transporte.
Cantidad > DProm("[Cantidad]", "[Detalles
de pedidos]")
Usa la función DProm para mostrar los
productos ordenados por cantidad mayor
que el promedio de las cantidades de
pedido.
Expresiones que hacen coincidir basándose en los resultados de subconsultas
Se usa una subconsulta, que también se conoce por el término consulta anidada, para
calcular un valor que se va a usar como criterio. Las expresiones de ejemplo que figuran en
la siguiente tabla hacen coincidir las filas basándose en los resultados devueltos por una
subconsulta.
Campo Expresión Muestra
PrecioUnidad
(SELECT [PrecioUnidad] FROM
[Productos] WHERE
[NombreProducto] = "Sirope de
regaliz")
Productos cuyo precio sea igual
que el precio del sirope de
regaliz.
PrecioUnidad >(SELECT AVG([PrecioUnidad])
FROM [Productos])
Productos cuyo precio por
unidad sea mayor que el
promedio.
Salario
> ALL (SELECT [Salario] FROM
[Empleados] WHERE ([Cargo] LIKE
"*Director*") OR ([Cargo] LIKE
"*Vicepresidente*"))
Salario de todos los
representantes cuyo salario sea
mayor que el de los empleados
con cargos de "Director" o
"Vicepresidente".
TotalPedido:
[PrecioUnidad] *
[Cantidad]
> (SELECT AVG([PrecioUnidad] *
[Cantidad]) FROM [Detalles de
pedidos])
Pedidos cuyo total sea mayor que
el valor de pedido medio.
Expresiones que se usan en las consultas de actualización
Las consultas de actualización se usan para modificar los datos de uno o varios campos
existentes de una base de datos. Por ejemplo, puede reemplazar valores o eliminarlos
completamente. En esta tabla se muestran algunas de las formas de usar expresiones en las
consultas de actualización. Estas expresiones se usan en la fila Actualizar a de la
cuadrícula de diseño de la consulta para el formulario que se desea actualizar.
Para obtener más información sobre la creación de consultas de actualización, vea el
artículo Crear una consulta de actualización.
Campo Expresión Resultado
Título "Vendedor" Cambia un valor de texto a Vendedor.
InicioProyecto #10.08.2007# Cambia un valor de fecha al 10 de
agosto de 2007.
Retirados Sí Cambia a Sí un valor No de un campo
de tipo Sí/No.
NúmeroPieza "NP" & [NúmeroPieza] Agrega NP al principio de cada número
de pieza especificado.
TotalArtículoLínea [PrecioUnidad] * [Cantidad] Calcula el producto de PrecioUnidad y
Cantidad.
Transporte [Transporte] * 1,5 Incrementa los gastos de transporte en
un 50 por ciento.
Ventas
DSuma("[Cantidad] *
[PrecioUnidad]",
"Detalles de pedidos",
"[IdProducto]=" &
[IdProducto])
Cuando los valores de IdProducto de la
actual tabla coinciden con los valores de
IdProducto de la tabla Detalles de
pedidos, se actualizan los totales de
ventas basándose en el producto de
Cantidad y PrecioUnidad.
CódigoPostalEnvío Der([CódigoPostalEnvío], 5)
Trunca los caracteres situados más a la
izquierda, dejando los cinco caracteres
más situados a la derecha.
PrecioUnidad Nz([PrecioUnidad])
Cambia un valor nulo (valor sin definir o
desconocido) a cero (0) en el campo
PrecioUnidad.
Expresiones usadas en instrucciones SQL
Lengua de consulta estructurado o SQL es el lenguaje de consulta que usa Access. Todas
las consultas que se crean en la vista Diseño de consulta también pueden expresarse
mediante SQL. Para ver la instrucción SQL de cualquier consulta, haga clic en Vista SQL
en el menú Ver. En la siguiente tabla se muestran instrucciones SQL de ejemplo que usan
una expresión.
Instrucción SQL que usa una expresión Resultado
SELECT [Nombre],[Apellidos] FROM
[Empleados] WHERE [Apellidos]="Cornejo"
Muestra los valores de los campos Nombre
y Apellidos de los empleados cuyo apellido
sea Cornejo.
SELECT [IdProducto],[NombreProducto]
FROM [Productos] WHERE
[IdCategoría]=Formularios![Nuevos
productos]![IdCategoría];
Muestra los valores de los campos
IdProducto y NombreProducto de la tabla
Productos para los registros donde el valor
de IdCategoría coincida con el valor de
IdCategoría especificado en un formulario
abierto denominado Nuevos productos.
SELECT Avg([PrecioTotal]) AS [Precio total
medio] FROM [Detalles de pedidos ampliados]
WHERE [PrecioTotal]>1000;
Calcula el precio total medio de los
pedidos para los que el valor del campo
PrecioTotal sea mayor que 1.000 y lo
muestra en un campo denominado Precio
total medio.
SELECT [IdCategoría], Count([IdProducto])
AS [NúmeroDeIdProducto] FROM [Productos]
GROUP BY [IdCategoría] HAVING
Count([IdProducto])>10;
En un campo denominado
NúmeroDeIdProducto, muestra el número
total de productos de las categorías con
más de 10 productos.
Volver al principio
Ejemplos de expresiones de valor predeterminado
Al diseñar una base de datos, quizás desee asignar un valor predeterminado a un campo o
control. Access proporcionará el valor predeterminado cuando cree un nuevo registro que
contenga el campo o cuando cree el objeto que contiene el control. Las expresiones que
figuran en la siguiente tabla representan los mismos valores predeterminados para un
campo o control.
Agregar un valor predeterminado para un campo de una tabla
1. En el panel de exploración, haga clic con el botón secundario en la tabla que desea
cambiar y después haga clic en Vista Diseño en el menú contextual.
2. Haga clic en el campo que desee cambiar y, en la ficha General, haga clic en el
cuadro de propiedad Valor predeterminado.
3. Escriba la expresión o haga clic en el botón Generar situado a la derecha del
cuadro de propiedad para crear una expresión mediante el Generador de
expresiones.
Si hay un control enlazado a un campo de una tabla y el campo tiene un valor
predeterminado, el valor predeterminado del control tiene prioridad.
Campo Expresión Valor de campo predeterminado
Cantidad 1 1
Región "MT" MT
Región "Nueva York,
N.Y."
Nueva York, N.Y. (Observe que debe escribir el valor
entre comillas si incluye puntuación.)
Fax ""
Cadena de longitud cero que indica que, de manera
predeterminada, este campo debe estar vacío en vez de
contener un valor nulo.
Fecha de pedido Fecha( ) Fecha actual
FechaVencimiento Fecha() +60 Fecha a los 60 días de la fecha actual
Volver al principio
Ejemplos de expresiones de regla de validación de campo
Se puede crear una regla de validación para un campo o control mediante una expresión. De
este modo, Access impone la regla cuando se incluyen datos en el campo o control. Para
crear una regla de validación, modifique la propiedad Regla de validación del campo o
control. Se recomienda establecer asimismo la propiedad Texto de validación, que
contiene el texto que Access muestra cuando se infringe la regla de validación. Si no se
establece la propiedad Texto de validación, Access muestra un mensaje de error
predeterminado.
Agregar una regla de validación a un campo
1. En el panel de exploración, haga clic con el botón secundario en la tabla que desea
cambiar y después haga clic en Vista Diseño en el menú contextual.
2. Haga clic en el campo que desee cambiar.
3. Haga clic en el cuadro de propiedad Regla de validación, ubicado en la sección
inferior del diseñador de tablas.
4. Escriba la expresión o haga clic en el botón Generar situado a la derecha del
cuadro de propiedad para crear una expresión mediante el Generador de
expresiones.
Nota No coloque el operador = delante de la expresión cuando cree una regla de
validación.
Los ejemplos que figuran en la siguiente tabla muestran las expresiones de regla de
validación para la propiedad Regla de validación y el texto asociado de la propiedad Texto
de validación.
Propiedad Regla de
validación Propiedad Texto de validación
<> 0 Especifique un valor distinto de cero.
0 Or > 100 El valor debe ser igual que cero o mayor que 100.
Como "K???" El valor debe constar de cuatro caracteres y comenzar por
la letra K.
< #01.01.2007# Especifique una fecha anterior al 1 de enero de 2007.
>= #01.01.2007# Y < La fecha debe ser del año 2007.
#01.01.2008#
Para obtener más información sobre la validación de datos, vea el artículo Crear una regla
de validación para validar los datos de un campo.
Volver al principio
Ejemplos de expresiones de condiciones de macro
En algunos casos, quizás desee llevar a cabo una acción o una serie de acciones en una
macro solamente si se cumple una condición concreta. Por ejemplo, supongamos que desea
que se ejecute una acción de macro solamente si el valor del cuadro de texto Contador es
10. Para ello, use una expresión para definir la condición en la columna Condición de la
macro [Contador]=10.
Agregar una condición para una acción de macro
1. En el panel de exploración, haga clic con el botón secundario del mouse en la macro
que desee cambiar y, a continuación, haga clic en Vista Diseño en el menú
contextual.
2. Si no ve la columna Condición en el diseñador de macros, en la ficha Diseño, en el
grupo Mostrar u ocultar, haga clic en Condiciones.
3. Haga clic en la celda Condición correspondiente a la acción de macro que desee
cambiar y, a continuación, escriba la expresión adicional.
4. Guarde los cambios y, a continuación, cierre la macro.
Al igual que en el caso de la propiedad Regla de validación, la expresión de la columna
Condición es una expresión condicional. Su valor debe ser True o False. La acción se
realizará únicamente si se cumple la condición (True).
Use esta expresión para llevar a cabo la acción Si
[Ciudad]="París"
París es el valor de Ciudad en el
campo en el formulario desde el
cual se ejecutó la macro.
DCuenta("[IdPedido]", "Pedidos") > 35
Hay más de 35 entradas en el
campo IdPedido de la tabla
Pedidos.
DCuenta("*", "[Detalles de pedidos]", "[IdPedido]=" &
Formularios![Pedidos]![IdPedido]) > 3
Hay más de tres entradas en la
tabla Detalles de pedidos para los
cuales el campo IdPedido de la
tabla coincide con el campo
IdPedido del formulario Pedidos.
[FechaEnvío] Entre #2-Feb-2007# Y #2-Mar-2007#
El valor del campo FechaEnvío del
formulario desde el cual se ejecuta
la macro no es anterior al 2-Feb-
2007 y no es posterior al 2-Mar-
2007.
Formularios![Productos]![UnidadesEnExistencias] < 5
El valor del campo
UnidadesEnStock del formulario
Productos es menor que cinco.
EsNulo([Nombre])
El valor Nombre del formulario
desde el que se ejecuta la macro es
nulo (no tiene valor). Esta
expresión es equivalente a
[Nombre] Es Nulo.
[PaísRegión]="Reino Unido" Y
Formularios![TotalVentas]![TotalPedidos] > 100
El valor del campo PaísRegión del
formulario desde el cual se ejecuta
la macro es el Reino Unido y el
valor del campo TotalPedidos del
formulario TotalVentas es mayor
que 100.
[PaísRegión] En ("Francia", "Italia", "España") Y
Longitud([CódigoPostal])<>5
El valor del campo PaísRegión del
formulario desde el cual se ejecuta
la macro es Francia, Italia o
España, y el código postal no es de
5 caracteres de longitud.
CuadroMsj("¿Confirmar cambios?",1)=1
Se hace clic en Aceptar en un
cuadro de diálogo que muestre la
función CuadroMsj. Si se hace
clic en Cancelar en el cuadro de
diálogo, Access omite la acción.