Anda di halaman 1dari 25

Funciones y Expresiones para

campos calculados
Informacin sobre las expresiones

En Office Access 2007, el trmino expresin es sinnimo de frmula. Una expresin


se compone de varios elementos posibles que se pueden usar, solos o en
combinacin, 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 + (ms) o - (menos)
Funciones, como SUMA o PROMEDIO
Constantes: valores que no cambian, como cadenas de texto o nmeros no
calculados por una expresin
Las expresiones se pueden usar de varias maneras, entre otras para: realizar un
clculo, recuperar el valor de un control o proporcionar criterios a una consulta.

Para obtener ms informacin sobre cmo y dnde se usan las expresiones, vea el
artculo Crear una expresin.

Ejemplos de expresiones que se usan en formularios e informes

Las tablas que figuran en esta seccin 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 expresin 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 cmo escribir una expresin en un control de


cuadro de texto ubicado en un formulario o informe existente.

Crear un control calculado


1. En el panel de exploracin, haga clic con el botn secundario del mouse (ratn)
en el formulario o informe que desee cambiar y, a continuacin, haga clic
en Vista Diseo en el men contextual.

2. En el formulario o informe, haga clic con el botn 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 continuacin, 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 expresin. Por ejemplo, puede copiar y pegar una expresin de la
columna denominada Expresin que aparece en la tabla de la siguiente seccin.
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 + (ms) para combinar cadenas de texto, usar funciones incorporadas para
manipular una cadena de texto o realizar alguna otra operacin con texto para crear
un control calculado.

EXPRESIN R E S U L TA D O

=N/A Muestra N/A.


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 carcter de espacio (entre comillas)
=[Nombre] & & [Apellidos] y el campo Apellidos.
Usa la funcin Izq para mostrar el primer
carcter del valor de un campo o control
=Izq([Nombre de producto], 1) denominado Nombre de producto.
Usa la funcin Der para mostrar los dos ltimos
caracteres del valor de un campo o control
=Der([Cdigo de activo], 2) denominado Cdigo de activo.
Usa la funcin Recortar para mostrar el valor del
=Recortar([Direccin]) control Direccin sin espacios iniciales o finales.
Usa la funcin SiInm para mostrar los valores de
=SiInm(EsNulo([Regin]), los controles Ciudad y Cdigo postal si el valor
[Ciudad] & & [Cdigo postal], del control Regin es nulo; en caso contrario,
[Ciudad] & & [Regin] & & muestra los valores de los controles Ciudad,
[Cdigo postal]) Regin y Cdigo postal, separados por espacios.
Usa el operador + y la propagacin de valores
nulos para mostrar los valores de los controles
Ciudad y Cdigo postal si el valor del campo d
control Regin es nulo; en caso contrario,
muestra los valores de los campos o controles
Ciudad, Regin y Cdigo postal, separados por
espacios.La propagacin de valores nulos
significa que si algn componente de una
expresin es nulo, toda la expresin ser nula. El
=[Ciudad] & ( + [Regin]) & operador + admite la propagacin de valores
& [Cdigo postal] nulos; el operador & no la admite.
EXPRESIONES EN ENCABEZADOS Y PIES
Se usan las propiedades Pgina y Pginas para mostrar o imprimir nmeros de
pgina en los formularios o informes. Las propiedades Pgina y Pginas estn
nicamente disponibles durante la impresin 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 seccin de encabezado o pie del formulario
o informe y usando una expresin como las que se muestran en la siguiente tabla.

Para obtener ms informacin sobre el uso de los encabezados y pies en los


formularios e informes, vea el artculo Insertar nmeros de pgina en un formulario o
informe.
EXPRESIN R E S U L TA D O D E E J E M P L O

=[Pgina] 1
=Pgina & [Pgina] Pgina 1
=Pgina & [Pgina] & de & [Pginas] Pgina 1 de 3

=[Pgina] & de & [Pginas] & Pginas 1 de 3 Pginas


=[Pgina] & / & [Pginas] & Pginas 1/3 Pginas

=[Pas o regin] & & [Pgina] Reino Unido 1


=Formato([Pgina], 000) 001

=Impreso el: & Fecha() Impreso el: 31/12/07


EXPRESIONES QUE RE ALIZ AN OPERACIONES AR ITMTICAS
Se pueden usar expresiones para restar, multiplicar y dividir los valores de dos o ms
campos o controles. Se pueden usar asimismo para realizar operaciones aritmticas
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 expresin =[FechaRequerida] 2 devuelve un valor de fecha/hora igual a
dos das antes de los actuales valores del campo FechaRequerida.

EXPRESIN R E S U L TA D O

Suma de los valores de los campos o


=[Subtotal]+[Transporte] controles denominados Subtotal y Transporte.

Intervalo entre los valores de fecha de los


campos o controles denominados
=[FechaRequerida]-[FechaEnvo] FechaRequerida y FechaEnvo.
Producto del valor del campo o control
denominado Precio y 1,06 (suma un 6 por
=[Precio]*1,06 ciento al valor de Precio).

Producto de los valores de los campos o


=[Cantidad]*[Precio] controles denominados Cantidad y Precio.
Cociente de los valores de los campos o
controles denominados TotalEmpleado y
=[TotalEmpleado]/[TotalPasRegin] TotalPasRegin.
Nota Cuando se usa un operador aritmtico (+, -, * y /) en una expresin y el valor
de uno de los controles en la expresin es nulo, el resultado de toda la expresin ser
nulo. Esto se conoce como la propagacin de valores nulos. Si algn registro de uno
de los controles que se usan en la expresin tiene un valor nulo, se puede evitar la
propagacin de valores nulos convirtiendo el valor nulo en cero mediante la
funcin Nz; por ejemplo, =Nz([Subtotal])+Nz([Transporte]).

Para obtener ms informacin sobre la funcin, vea el artculo Nz (funcin).


E X P R E S I O N E S Q U E H A C E N R E F E R E N C I A A VAL O R E S D E O T R O S C A M P O S O C O N T R O L E S
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 expresin 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.

EXPRESIN R E S U L TA D O

Valor del control IdPedido en el


=Formularios![Pedidos]![IdPedido] formulario Pedidos.
Valor del control SubtotalPedido en el
subformulario denominado
=Formularios![Pedidos]![Subformulario Subformulario Pedidos del formulario
Pedidos].Formulario![SubtotalPedido] Pedidos.

Valor de la tercera columna de


IdProducto, un cuadro de lista de
columnas mltiples en el subformulario
denominado Subformulario Pedidos del
formulario Pedidos. (Observe que 0
=Formularios![Pedidos]![Subformulario hace referencia a la primera columna, 1
Pedidos]![IdProducto].Columna(2) a la segunda, y as sucesivamente).
Producto del valor del control Precio
ubicado en el subformulario
denominado Subformulario Pedidos del
=Formularios![Pedidos]![Subformulario formulario Pedidos y 1,06 (suma el 6
Pedidos]![Precio] * 1,06 por ciento al valor del control Precio).

Valor del control IdPedido ubicado en el


formulario principal del actual
=Parent![IdPedido] 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 ms informacin sobre esta propiedad, vea el artculo Informe


(propiedad).
EXPRESIN R E S U L TA D O

Valor del control denominado IdPedido


=Informe![Factura]![IdPedido] en el informe denominado Factura.
Calor del control denominado Total Ventas
ubicado en el subinforme denominado
=Informe![Resumen]![Subinforme Subinforme Resumen del informe
Resumen]![Total Ventas] denominado Resumen.

Valor del control denominado IdPedido en


el formulario principal del actual
=Parent![IdPedido] subinforme.
EXPRESIONES QUE REALIZAN UN RECUENTO, SUMAN Y CALCULAN EL PROMEDIO DE
VAL O R E S
Se puede usar un tipo de funcin denominado funcin 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
artculos de lnea 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.

EXPRESIN DESCRIPCIN

Usa la funcin Promedio para mostrar el promedio


de los valores de un campo de tabla o control
=Promedio([Transporte]) denominado Transporte.
Usa la funcin Cuenta para mostrar el nmero de
=Cuenta([IdPedido]) registros en el control denominado IdPedido.

Usa la funcin Suma para mostrar la suma de los


=Suma([Ventas]) valores del control denominado Ventas.
Usa la funcin Suma para mostrar la suma del
producto de los valores de los controles
=Suma([Cantidad]*[Precio]) denominados Cantidad y Precio.

=[Ventas]/Suma([Ventas])*100 Muestra el porcentaje de ventas, determinado por


la divisin 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 expresin.
Para obtener ms informacin sobre cmo usar las funciones de agregado y sumar
los valores de campos y columnas, vea los artculos 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 VAL O R E S DE MANERA
SELECTIVA MEDI ANTE FUNCIONES DE AGRE GADO DE DOMINIO
Se usa un tipo de funcin denominado funcin 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.

EXPRESIN DESCRIPCIN

Usa la funcin DBsq 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
=DBsq([Nombre de contacto], [Proveedores], proveedor ubicado en el
[Id. de proveedor] = & Formularios(Proveedores) formulario denominado
([Id. de proveedor])) Proveedores.

Usa la funcin DBsq 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
=DBsq([Nombre de contacto], [Proveedores], proveedor ubicado en el
[Id. de proveedor] = & Formularios![Nuevos formulario denominado
proveedores]![Id. de proveedor]) Nuevos proveedores.
Usa la funcin DSuma para
devolver el total de los
valores del campo Importe
de pedido de la tabla
=DSuma([Importe de pedido], [Pedidos], [Id. de denominada Pedidos donde
cliente] = RATTC) el Id. de cliente sea RATTC.

=DCuenta([Retirados],[Activos],[Retirados]=S) Usa la
funcin DCuenta para
devolver el nmero 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 cuntos das han transcurrido desde la fecha de factura
para determinar la antigedad 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.

EXPRESIN DESCRIPCIN

Usa la funcin Fecha para mostrar la fecha actual con el


formato mm-dd-aa, donde mm es el mes (del 1 al
12), dd es el da (del 1 al 31) y aa representa los dos
=Fecha() ltimos dgitos del ao (de 1980 a 2099).
Usa la funcin Formato para mostrar el nmero de
semana del ao correspondiente a la actual fecha,
=Formato(Ahora(), ss) donde ss representa las semanas del 1 al 53.

Usa la funcin ParcFecha para mostrar el ao de cuatro


=ParcFecha(aaaa, dgitos correspondiente al valor del control denominado
[FechaPedido]) IdPedido.
Usa la funcin AgregFecha para mostrar la fecha
=AgregFecha(a, -10, correspondiente a 10 das antes del valor del control
[Fecha prometida]) denominado Fecha prometida.

=DifFecha(d, Usa la funcin DifFecha para mostrar la diferencia en


[FechaPedido], nmero de das entre los valores de los controles
[FechaEnvo]) denominados FechaPedido y FechaEnvo.
Usa operaciones aritmticas con fechas para calcular la
fecha correspondiente a 30 das despus de la fecha del
=[FechaFactura] + 30 campo o control denominado FechaFactura.
E X P R E S I O N E S C O N D I C I O N AL E S Q U E D E V U E LVE N U N O D E D O S P O S I B L E S VAL O R E S
Las expresiones de ejemplo que figuran en la siguiente tabla usan la
funcin SiInm para devolver uno de dos posibles valores. A la funcin SiInm se le
pasan tres argumentos. El primer argumento es una expresin que tiene que devolver
el valor True o False. El segundo argumento es el valor que se va a devolver si la
expresin tiene el valor True y el tercer argumento es el valor que se va a devolver si
la expresin es False.

EXPRESIN DESCRIPCIN
Usa la funcin SiInm para que se muestre
el mensaje Pedido confirmado si el valor
del control Confirmado es S; en caso
=SiInm([Confirmado] = S, Pedido contrario, se muestra el mensaje Pedido
confirmado, Pedido sin confirmar) sin confirmar.

Usa las funciones SiInm y EsNulo para


que se muestre una cadena vaca si el
valor del control Pas o regin es nulo; en
=SiInm(EsNulo([Pas o regin]), , caso contrario, se muestra el valor del
[Pas]) control Pas o regin.
Usa las funciones SiInm y EsNulo para
que se muestren los valores de los
controles denominados Ciudad y Cdigo
postal si el valor del control denominado
=IIf(EsNulo([Regin]),[Ciudad]& & Regin es nulo; en caso contrario, se
[CdigoPostal], [Ciudad]& muestran los valores de los campos o
&[Regin]& &[CdigoPostal]) controles Ciudad, Regin y Cdigo postal.

Usa las funciones SiInm y EsNulo para


que se muestre el mensaje Comprobar si
falta una fecha si el resultado de restar
FechaEnvo de FechaRequerida es nulo;
=SiInm(EsNulo([FechaRequerida]) O en caso contrario, se muestra el intervalo
EsNulo([FechaEnvo]), Comprobar si entre los valores de fecha de los controles
falta una fecha, [FechaRequerida] denominados FechaRequerida y
[FechaEnvo]) FechaEnvo.
Volver al principio

Ejemplos de expresiones que se usan en consultas y filtros


Esta seccin 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
expresin. 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 cmo 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 Diseo de la consulta


1. En el panel de exploracin, haga clic con el botn secundario en la consulta
que desea cambiar y despus haga clic en Vista Diseo 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 expresin. Si no especifica un nombre, Access
agrega Exprn:, donde n es un nmero secuencial.
3. Escriba la expresin.
O bien,

En la ficha Diseo, en el grupo Configuracin de consultas, haga clic


en Generador para iniciar el Generador de expresiones.

Para obtener ms informacin sobre el uso del Generador de expresiones, vea el


artculo Crear una expresin.
E X P R E S I O N E S Q U E M A N I P U L A N E L T E X T O D E U N A C O N S U L TA O U N F I L T R O
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 operacin con texto para crear un campo calculado.

EXPRESIN DESCRIPCIN

Crea un campo denominado


NombreCompleto que muestre los valores
NombreCompleto: [Nombre] & & de los campos denominados Nombre y
[Apellidos] Apellidos, separados por un espacio.

Crea un campo denominado Direccin2 que


muestre los valores de los campos Ciudad,
Direccin2: [Ciudad] & & [Regin] Regin y Cdigo postal, separados por
& & [Cdigo postal] espacios.
Crea un campo denominado InicialProducto
y, a continuacin, usa la funcin Izq para
mostrar en el campo denominado
InicialProducto:Izq([Nombre de InicialProducto el primer carcter del valor
producto], 1) del campo Nombre de producto.

Crea un campo denominado CdigoTipo y,


a continuacin, usa la funcin Der para
mostrar los dos ltimos caracteres de los
CdigoTipo: Der([Cdigo de activo], 2) valores del campo Cdigo de activo.
Crea un campo denominado Cdigorea y,
a continuacin, usa la funcin Medio para
mostrar los tres caracteres a partir del
segundo carcter del valor del campo
Cdigorea: Medio([Telfono],2,3) Telfono.
EXPRESIONES QUE RE ALIZ AN OPERACIONES AR ITMTICAS EN C AMPOS C ALCUL AD OS
Se pueden usar expresiones para restar, multiplicar y dividir los valores de dos o ms
campos o controles. Asimismo, se pueden realizar operaciones aritmticas con
fechas. Por ejemplo, supongamos que tiene un campo de tipo Fecha/Hora
denominado FechaRequerida. La expresin =[FechaRequerida] 2 devuelve un
valor de Fecha/Hora igual a dos das antes del valor del campo FechaRequerida.

EXPRESIN DESCRIPCIN

Crea un campo
denominado
TransporteBsico y, a
continuacin, muestra
los gastos de
transporte ms un 10
por ciento en el
TransporteBsico: [Transporte] * 1.1 campo.
Crea un campo
denominado
ImportePedido y, a
continuacin, muestra
el producto de los
valores de los campos
Cantidad y
ImportePedido: [Cantidad] * [PrecioUnidad] PrecioUnidad.

Crea un campo
denominado
TiempoDeEspera y, a
continuacin, muestra
la diferencia entre los
valores de los campos
FechaRequerida y
TiempoDeEspera: [FechaRequerida] [FechaEnvo] FechaEnvo.
Crea un campo
denominado
TotalExistencias y, a
continuacin, muestra
la suma de los valores
de los campos
Unidades en
TotalExistencias: [Unidades en existencias]+[Unidades de existencias y Unidades
pedido] de pedido.

PorcentajeTransporte: Suma([Transporte])/Suma([Subtotal] Crea un campo


) *100 denominado
PorcentajeTransporte
y, a continuacin,
muestra el porcentaje
de los gastos de
transporte en cada
subtotal. Esta
expresin usa la
funcin Suma para
sumar los valores del
campo Transporte y, a
continuacin, divide
esos totales entre la
suma de los valores
del campo
Subtotal.Para usar
esta expresin, debe
convertir la consulta de
seleccin en una
consulta de totales
porque debe usar la
fila Total en la
cuadrcula de diseo, y
debe establecer la
celda Total de este
campo en Expresin.
Para obtener ms
informacin sobre la
creacin de una
consulta de totales,
vea el artculo Sumar
datos mediante una
consulta.
Si establece la
propiedad Formato del
campo en Porcentaje,
no incluya *100.

Para obtener ms informacin sobre cmo usar las funciones de agregado y sumar
los valores de campos y columnas, vea los artculos 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 CLCULOS 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 aritmticas con
fechas; por ejemplo, se puede calcular cuntos das han transcurrido desde la fecha
de factura para determinar la antigedad de las cuentas por cobrar.
EXPRESIN DESCRIPCIN

Crea un campo
denominado Intervalo y,
a continuacin, usa la
funcin DifFecha para
mostrar el nmero de
das entre la fecha de
pedido y la fecha de
Intervalo: DifFecha(d, [FechaPedido], [FechaEnvo]) envo.
Crea un campo
denominado
AoContratacin y, a
continuacin, usa la
funcin ParcFecha para
mostrar el ao en que
se contrat a cada
AoContratacin: ParcFecha(aaaa,[FechaContratacin]) empleado.

Crea un campo
denominado
MenosTreinta y, a
continuacin, usa la
funcin Fecha para
mostrar la fecha 30 das
anterior a la fecha
MenosTreinta: Fecha( )- 30 actual.
EXPRESIONES QUE REALIZAN UN RECUENTO, SUMAN Y CALCULAN EL PROMEDIO DE
VAL O R E S M E D I AN T E F U N C I O N E S D E AG R E G AD O S Q L O F U N C I O N E S D E AG R E G A D O 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 trmino
funciones de agregado.

Adems 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 slo 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 funcin DSuma, la funcin DCuenta y la funcin
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 cuadrcula de diseo de la consulta, haga clic
en Totales en el men Ver.

EXPRESIN DESCRIPCIN
Crea un campo
denominado NmeroFilas
y, a continuacin, usa la
funcin Cuenta para
contar el nmero de
registros de la consulta,
incluidos los registros con
campos nulos (en
NmeroFilas:Cuenta(*) blanco).

Crea un campo
denominado
PorcentajeTransporte y, a
continuacin, calcula el
porcentaje de los gastos
de transporte en cada
subtotal mediante la
divisin de la suma de
valores del campo
Transporte y la suma de
los valores del campo
Subtotal. (En este
ejemplo, se usa la
funcin Suma.) Nota Est
a expresin debe usarse
con una consulta de
totales. Si establece la
propiedad Formato del
campo en Porcentaje, no
incluya *100.
.

Para obtener ms
informacin sobre la
creacin de una consulta
de totales, vea el
PorcentajeTransporte: Suma([Transporte])/Suma([Subtot artculo Sumar datos
al]) *100 mediante una consulta.
TransporteMedio: DProm([Transporte], [Pedidos]) Crea un campo
denominado
TransporteMedio y, a
continuacin, usa la
funcin DProm para
calcular el promedio de
los gastos de transporte
de todos los pedidos
combinados en una
consulta de totales.
E X P R E S I O N E S P A R A T R A B A J A R C O N C A M P O S Q U E C O N T I E N E N I N F O R M A C I N Q U E F A L TA
( C A M P O S C O N VAL O R E S N U L O S )
Las expresiones que se muestran a continuacin funcionan con campos que
contienen informacin 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 compaero
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.

EXPRESIN DESCRIPCIN

Crea un campo denominado


PasReginActual y, a
continuacin, usa las
funciones SiInm y EsNulo para
que se muestre una cadena
vaca en ese campo si el campo
PasRegin contiene un valor
nulo; en caso contrario, se
PasReginActual:SiInm(EsNulo([PasRegin]), muestra el contenido del campo
, [PasRegin]) PasRegin.

Crea un campo denominado


TiempoDeEspera y, a
continuacin, usa las
funciones SiInm y EsNulo para
que se muestre el mensaje
Comprobar si falta una fecha si
el valor del campo
TiempoDeEspera: FechaRequerida o del campo
=SiInm(EsNulo([FechaRequerida] FechaEnvo es nulo; en caso
[FechaEnvo]), Comprobar si falta una fecha, contrario, se muestra la
[FechaRequerida] [FechaEnvo]) diferencia entre las fechas.
Crea un campo denominado
VentasSemestrales y, a
continuacin, muestra el total de
los valores de los campos
VentasPrimerTrimestre y
VentasSegundoTrimestre
usando primero la
VentasSemestrales: Nz([VentasPrimerTrimestre]) funcin Nz para convertir los
+ Nz([VentasSegundoTrimestre]) valores nulos en cero.
E X P R E S I N Q U E U S A U N A S U B C O N S U L TA P A R A C R E A R U N C A M P O C A L C U L A D O
Puede usar una consulta anidada, que tambin se conoce por el trmino subconsulta,
para crear un campo calculado. La expresin que figura en la siguiente tabla es un
ejemplo de un campo calculado generado a partir de una subconsulta.

EXPRESIN DESCRIPCIN

Crea un campo
denominado Cat y, a
continuacin, muestra el
nombre de categora si
el Id. de categora de la
tabla Categoras es el
Cat: (SELECT [NombreCategora] FROM [Categoras] mismo que el Id. de
WHERE [Productos].[IdCategora]=[Categoras]. categora de la tabla
[IdCategora]) Productos.
E X P R E S I O N E S Q U E D E F I N E N C R I T E R I O S Y LI M I TAN L O S R E G I S T R O S E N E L C O N J U N TO D E
R E S U L TA D O S
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
seccin proporcionan informacin bsica sobre cmo agregar criterios a una consulta.
Las tablas de esta seccin contienen ejemplos de criterios para hacer coincidir valores
de texto y valores de fecha.

Agregar criterios a una consulta


1. En el panel de exploracin, haga clic con el botn secundario del mouse (ratn)
en la consulta que desee modificar y despus haga clic en Vista Diseo

en el men contextual.
2. En la fila Criterios de la cuadrcula de diseo, haga clic en la celda de la
columna que desee usar y, a continuacin, escriba los criterios.
Si desea disponer de un rea ms amplia para escribir la expresin, presione
MAYS+F2 para mostrar el cuadro de dilogo Zoom.

O bien,

En la ficha Diseo, en el grupo Configuracin de consultas, haga clic


en Generador para iniciar el Generador de expresiones y crear la

expresin.

Nota Al crear expresiones para definir criterios, no anteponga el operador = a las


expresiones.
Para obtener ms informacin sobre el uso del Generador de expresiones, vea el
artculo Crear una expresin.
E X P R E S I O N E S Q U E H A C E N C O I N C I D I R VAL O R E S D E T E X T O C O M P L E T O S O PAR C I A L E S
Las expresiones de ejemplo que figuran en esta tabla muestran criterios que hacen
coincidir valores de texto completos o parciales.

CAMPO EXPRESIN DESCRIPCIN

Muestra los pedidos enviados a


CiudadEnvo Londres Londres.

Usa el operador O para mostrar los


Londres O Hedge pedidos enviados a Londres o
CiudadEnvo End Hedge End.
Usa el operador En para mostrar los
En(Canad, Reino pedidos enviados a Canad o al
ReginCiudadEnvo Unido) Reino Unido.

Usa el operador No para mostrar los


pedidos enviados a pases o
regiones que no sean los Estados
ReginCiudadEnvo No EE.UU. Unidos.
Usa el operador No y el carcter
comodn * para mostrar los
productos cuyo nombre no
NombreProducto No como C* comience por C.

Muestra los pedidos enviados a las


compaas cuyo nombre comience
por las letras comprendidas entre la
NombreCompaa >=N N y la Z.
Usa la funcin Der para mostrar los
Der([CdigoProducto], pedidos cuyo valor de
CdigoProducto 2)=99 CdigoProducto acabe en 99.

Muestra los pedidos enviados a


clientes cuyo nombre comience con
NombreEnvo Como S* 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 ms informacin sobre cmo especificar y usar los valores de fecha, vea
el artculo Especificar un valor de fecha u hora. Para obtener informacin sobre el uso
de las funciones en estas expresiones de ejemplo, haga clic en los vnculos a los
diversos temas de funciones.
CAMPO EXPRESIN DESCRIPCIN
Muestra los pedidos enviados el
FechaEnvo #02.02.2007# 2 de febrero de 2007.

Muestra los pedidos enviados


FechaEnvo Fecha( ) hoy.
Usa el operador EntreY as
como las
funciones AgregFecha y Fecha
para mostrar los pedidos
requeridos entre la fecha de hoy
FechaObligat Entre Fecha( ) y tres meses a partir de la fecha
oria Y AgregFecha(m, 3, Fecha( )) actual.

Usa la funcin Fecha para


mostrar los pedidos con una
FechaPedido < Fecha() 30 antigedad de ms de 30 das.
Usa la funcin Ao para mostrar
los pedidos cuya fecha de
FechaPedido Ao([FechaPedido])=2007 pedido corresponda al 2007.

Usa la funcin ParcFecha para


mostrar los pedidos
correspondientes al cuarto
FechaPedido ParcFecha(t, [FechaPedido])=4 trimestre de calendario.
Usa las
funciones SerieFecha, Ao y M
SerieFecha(Ao es para mostrar los pedidos
([FechaPedido]), Mes([FechaPedi correspondientes al ltimo da
FechaPedido do])+1, 1)-1 de cada mes.

Usa las
Ao([FechaPedido])= funciones Ao y Mes as como
Ao(Ahora()) Y el operador Y para mostrar los
Mes([FechaPedido])= pedidos correspondientes al ao
FechaPedido Mes(Ahora()) y al mes actuales.
Usa el operador EntreY para
mostrar los pedidos enviados
Entre #05.01.2007# y despus del 5 de enero de 2007
FechaEnvo #10.01.2007# y antes del 10 de enero de 2007.

Usa el operador EntreY para


mostrar los pedidos requeridos
entre la fecha de hoy y tres
FechaObligat Entre Fecha() Y AgregFecha(M, meses a partir de la fecha
oria 3, Fecha()) actual.
Usa las
funciones Mes y Fecha para
mostrar a los empleados cuyo
Fecha de Mes([FechaNacimiento])=Mes(Fe cumpleaos se celebre este
nacimiento cha()) mes.
E X P R E S I O N E S Q U E H A C E N C O I N C I D I R U N V A L O R Q U E F A L TA ( V A L O R N U L O ) O U N A C A D E N A
DE LONGITUD CERO
Las expresiones que figuran en la siguiente tabla funcionan con campos que
contienen informacin 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 informacin;
no representa un cero ni ningn otro valor. Access admite esta idea de informacin
que falta porque el concepto es fundamental para la integridad de una base de datos.
En el mundo real, a menudo falta informacin, aunque sea temporalmente (por
ejemplo, el precio an 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 informacin como informacin que falta. Puede usar la
funcin EsNulo para determinar si un campo o control contiene un valor nulo y puede
usar la funcin Nz para convertir los valores nulos en cero.

CAMPO EXPRESIN DESCRIPCIN

Muestra los pedidos de los clientes cuyo campo


ReginEnvo Es Nulo ReginEnvo sea nulo (informacin que falta).

No es Muestra los pedidos de los clientes cuyo campo


ReginEnvo Nulo ReginEnvo contenga un valor.
Muestra los pedidos de los clientes que no tienen una
mquina de fax, lo que se indica mediante un valor de
cadena de longitud cero en el campo Fax en lugar de un
Fax valor nulo (informacin que falta).
E X P R E S I O N E S Q U E U S AN M O D E L O S PAR A H A C E R C O I N C I D I R L O S R E G I S T R O S
El operador Como permite una gran flexibilidad cuando se intenta hacer coincidir filas
que cumplen un modelo, porque Como puede usarse con caracteres comodn y se
pueden definir modelos que Access debe hacer coincidir. Por ejemplo, el carcter
comodn * (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 expresin Como S* se usa para buscar todos los nombres que
comiencen con la letra S.

Para obtener ms informacin, vea el artculo Como (operador).


CAMPO EXPRESIN DESCRIPCIN

Busca todos los registros del campo


NombreEnvo Como S* NombreEnvo que empiecen con la letra S.
Busca todos los registros del campo
Como NombreEnvo que terminen con la palabra
NombreEnvo *Importaciones Importaciones.
Busca todos los registros del campo
NombreEnvo que comiencen con la letra A, B, C
NombreEnvo Como [A-D]* D.

Busca todos los registros del campo


NombreEnvo que incluyan la secuencia de
NombreEnvo Como *ar* letras ar.
Busca todos los registros del campo
NombreEnvo que incluyan Casa en la primera
parte del valor y una cadena de cinco letras
Como Casa donde las cuatro primeras letras son Dewe y la
NombreEnvo Dewe? ltima letra es desconocida.

Busca todos los registros del campo


NombreEnvo No como A* NombreEnvo que no empiecen con la letra A.
EXPRESIONES QUE HACEN COINCIDIR FILAS BASNDOSE EN EL R E S U L TA D O DE UNA
FUNCIN DE AGR EG AD O DE DOMINIO
Se usa una funcin de agregado de dominio para sumar, contar o calcular el promedio
de valores de manera selectiva. Por ejemplo, para contar slo 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 clculo con un conjunto
de valores y usar el resultado como criterios de la consulta.

CAMPO EXPRESIN DESCRIPCIN

Usa las
funciones DDesvEst y DProm para
> (DDesvEst([Transporte], mostrar todos los pedidos cuyos gastos
Pedidos) de transporte sean mayores que el
+ DProm([Transporte], promedio ms la desviacin estndar de
Transporte Pedidos)) los gastos de transporte.
Usa la funcin DProm para mostrar los
productos ordenados por cantidad mayor
> DProm([Cantidad], que el promedio de las cantidades de
Cantidad [Detalles de pedidos]) pedido.
E X P R E S I O N E S Q U E H A C E N C O I N C I D I R B A S N D O S E E N L O S R E S U L TA D O S D E S U B C O N S U L TA S
Se usa una subconsulta, que tambin se conoce por el trmino 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 basndose en los resultados
devueltos por una subconsulta.

CAMPO EXPRESIN MUESTRA

PrecioUnidad (SELECT [PrecioUnidad] FROM Productos cuyo precio sea


[Productos] WHERE igual que el precio del sirope
[NombreProducto] = Sirope de de regaliz.
regaliz)

Productos cuyo precio por


>(SELECT AVG([PrecioUnidad]) unidad sea mayor que el
PrecioUnidad FROM [Productos]) promedio.
Salario de todos los
> ALL (SELECT [Salario] FROM representantes cuyo salario
[Empleados] WHERE ([Cargo] sea mayor que el de los
LIKE *Director*) OR ([Cargo] empleados con cargos de
Salario LIKE *Vicepresidente*)) Director o Vicepresidente.

TotalPedido: > (SELECT AVG([PrecioUnidad]


[PrecioUnidad] * * [Cantidad]) FROM [Detalles de Pedidos cuyo total sea mayor
[Cantidad] pedidos]) que el valor de pedido medio.
E X P R E S I O N E S Q U E S E U S A N E N L A S C O N S U L TA S D E A C T U A L I Z A C I N
Las consultas de actualizacin 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 actualizacin. Estas expresiones se usan en la
fila Actualizar a de la cuadrcula de diseo de la consulta para el formulario que se
desea actualizar.

Para obtener ms informacin sobre la creacin de consultas de actualizacin, vea el


artculo Crear una consulta de actualizacin.
CAMPO EXPRESIN R E S U L TA D O

Cambia un valor de texto a


Ttulo Vendedor Vendedor.

Cambia un valor de fecha al 10


InicioProyecto #10.08.2007# de agosto de 2007.
Cambia a S un valor No de un
Retirados S campo de tipo S/No.

Agrega NP al principio de cada


NmeroPieza NP & [NmeroPieza] nmero de pieza especificado.
Calcula el producto de
TotalArtculoLnea [PrecioUnidad] * [Cantidad] PrecioUnidad y Cantidad.

Incrementa los gastos de


Transporte [Transporte] * 1,5 transporte en un 50 por ciento.
Ventas DSuma([Cantidad] * Cuando los valores de
[PrecioUnidad], IdProducto de la actual tabla
Detalles de pedidos, coinciden con los valores de
[IdProducto]= & IdProducto de la tabla Detalles
[IdProducto]) de pedidos, se actualizan los
totales de ventas basndose en
el producto de Cantidad y
PrecioUnidad.

Trunca los caracteres situados


ms a la izquierda, dejando los
cinco caracteres ms situados a
CdigoPostalEnvo Der([CdigoPostalEnvo], 5) la derecha.
Cambia un valor nulo (valor sin
definir o desconocido) a cero (0)
PrecioUnidad Nz([PrecioUnidad]) 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 Diseo de consulta tambin pueden
expresarse mediante SQL. Para ver la instruccin 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 expresin.

INSTRUCCIN SQL QUE USA UNA EXPRESIN R E S U L TA D O

Muestra los valores de los campos


SELECT [Nombre],[Apellidos] FROM Nombre y Apellidos de los empleados
[Empleados] WHERE [Apellidos]=Cornejo cuyo apellido sea Cornejo.
Muestra los valores de los campos
IdProducto y NombreProducto de la
tabla Productos para los registros
SELECT [IdProducto],[NombreProducto] donde el valor de IdCategora coincida
FROM [Productos] WHERE con el valor de IdCategora
[IdCategora]=Formularios![Nuevos especificado en un formulario abierto
productos]![IdCategora]; denominado Nuevos productos.

Calcula el precio total medio de los


pedidos para los que el valor del
SELECT Avg([PrecioTotal]) AS [Precio total campo PrecioTotal sea mayor que
medio] FROM [Detalles de pedidos 1.000 y lo muestra en un campo
ampliados] WHERE [PrecioTotal]>1000; denominado Precio total medio.
SELECT [IdCategora], Count([IdProducto]) En un campo denominado
AS [NmeroDeIdProducto] FROM NmeroDeIdProducto, muestra el
[Productos] GROUP BY [IdCategora] nmero total de productos de las
HAVING Count([IdProducto])>10; categoras con ms de 10 productos.
Volver al principio

Ejemplos de expresiones de valor predeterminado


Al disear una base de datos, quizs 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 exploracin, haga clic con el botn secundario en la tabla que
desea cambiar y despus haga clic en Vista Diseo 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 expresin o haga clic en el botn Generar situado a la

derecha del cuadro de propiedad para crear una expresin 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 EXPRESIN VAL O R D E C AM P O P R E D E T E RM I N AD O

Cantidad 1 1
Regin MT MT

Nueva Nueva York, N.Y. (Observe que debe escribir el


Regin York, N.Y. valor entre comillas si incluye puntuacin.)
Cadena de longitud cero que indica que, de
manera predeterminada, este campo debe estar
Fax vaco en vez de contener un valor nulo.

Fecha de pedido Fecha( ) Fecha actual


FechaVencimiento Fecha() +60 Fecha a los 60 das de la fecha actual
Volver al principio

Ejemplos de expresiones de regla de validacin de campo


Se puede crear una regla de validacin para un campo o control mediante una
expresin. De este modo, Access impone la regla cuando se incluyen datos en el
campo o control. Para crear una regla de validacin, modifique la propiedad Regla de
validacin del campo o control. Se recomienda establecer asimismo la
propiedad Texto de validacin, que contiene el texto que Access muestra cuando se
infringe la regla de validacin. Si no se establece la propiedad Texto de validacin,
Access muestra un mensaje de error predeterminado.

Agregar una regla de validacin a un campo


1. En el panel de exploracin, haga clic con el botn secundario en la tabla que
desea cambiar y despus haga clic en Vista Diseo en el men contextual.
2. Haga clic en el campo que desee cambiar.
3. Haga clic en el cuadro de propiedad Regla de validacin, ubicado en la
seccin inferior del diseador de tablas.
4. Escriba la expresin o haga clic en el botn Generar situado a la

derecha del cuadro de propiedad para crear una expresin mediante


el Generador de expresiones.
Nota No coloque el operador = delante de la expresin cuando cree una regla de
validacin.

Los ejemplos que figuran en la siguiente tabla muestran las expresiones de regla de
validacin para la propiedad Regla de validacin y el texto asociado de la
propiedad Texto de validacin.

PROPIEDAD REGLA DE
VAL I D A C I N P R O P I E D A D T E X T O D E VAL I D A C I N

<> 0 Especifique un valor distinto de cero.

0 Or > 100 El valor debe ser igual que cero o mayor que 100.
El valor debe constar de cuatro caracteres y
Como K??? comenzar por la letra K.

Especifique una fecha anterior al 1 de enero de


< #01.01.2007# 2007.
>= #01.01.2007# Y <
#01.01.2008# La fecha debe ser del ao 2007.
Para obtener ms informacin sobre la validacin de datos, vea el artculo Crear una
regla de validacin para validar los datos de un campo.
Volver al principio

Ejemplos de expresiones de condiciones de macro


En algunos casos, quizs desee llevar a cabo una accin o una serie de acciones en
una macro solamente si se cumple una condicin concreta. Por ejemplo, supongamos
que desea que se ejecute una accin de macro solamente si el valor del cuadro de
texto Contador es 10. Para ello, use una expresin para definir la condicin en la
columna Condicin de la macro [Contador]=10.

Agregar una condicin para una accin de macro


1. En el panel de exploracin, haga clic con el botn secundario del mouse en la
macro que desee cambiar y, a continuacin, haga clic en Vista Diseo en el
men contextual.
2. Si no ve la columna Condicin en el diseador de macros, en la ficha Diseo,
en el grupo Mostrar u ocultar, haga clic en Condiciones.
3. Haga clic en la celda Condicin correspondiente a la accin de macro que
desee cambiar y, a continuacin, escriba la expresin adicional.
4. Guarde los cambios y, a continuacin, cierre la macro.
Al igual que en el caso de la propiedad Regla de validacin, la expresin de la
columna Condicin es una expresin condicional. Su valor debe ser True o False. La
accin se realizar nicamente si se cumple la condicin (True).

U S E E S T A E X P R E S I N PAR A L L E VAR A C A B O L A AC C I N SI

Pars es el valor de Ciudad en


el campo en el formulario
desde el cual se ejecut la
[Ciudad]=Pars macro.
Hay ms de 35 entradas en el
campo IdPedido de la tabla
DCuenta([IdPedido], Pedidos) > 35 Pedidos.

Hay ms de tres entradas en


la tabla Detalles de pedidos
para los cuales el campo
IdPedido de la tabla coincide
DCuenta(*, [Detalles de pedidos], [IdPedido]= & con el campo IdPedido del
Formularios![Pedidos]![IdPedido]) > 3 formulario Pedidos.
El valor del campo
FechaEnvo del formulario
desde el cual se ejecuta la
macro no es anterior al 2-Feb-
2007 y no es posterior al 2-
[FechaEnvo] Entre #2-Feb-2007# Y #2-Mar-2007# Mar-2007.

El valor del campo


UnidadesEnStock del
Formularios![Productos]![UnidadesEnExistencias] < formulario Productos es
5 menor que cinco.
El valor Nombre del formulario
desde el que se ejecuta la
macro es nulo (no tiene valor).
Esta expresin es equivalente
EsNulo([Nombre]) a [Nombre] Es Nulo.

El valor del campo


PasRegin del formulario
desde el cual se ejecuta la
macro es el Reino Unido y el
valor del campo TotalPedidos
[PasRegin]=Reino Unido Y Formularios! del formulario TotalVentas es
[TotalVentas]![TotalPedidos] > 100 mayor que 100.
[PasRegin] En (Francia, Italia, Espaa) El valor del campo
PasRegin del formulario
desde el cual se ejecuta la
macro es Francia, Italia o
Espaa, y el cdigo postal no
es de 5 caracteres de
Y Longitud([CdigoPostal])<>5 longitud.

Se hace clic en Aceptar en


un cuadro de dilogo que
muestre la
funcin CuadroMsj. Si se
hace clic en Cancelar en el
cuadro de dilogo, Access
CuadroMsj(Confirmar cambios?,1)=1 omite la accin.
Nota Para que Access omita temporalmente una accin, escriba False como
condicin. Esto puede resultar til cuando intenta encontrar problemas en una macro.

Anda mungkin juga menyukai