Está en la página 1de 43

Ejemplos de expresiones

Este artculo incluye ejemplos de expresiones. Una expresin es la combinacin de operadores matemticos o lgicos, 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 artculo se describen los pasos bsicos

para crear expresiones, no es una gua exhaustiva del uso de las herramientas que proporciona Microsoft Office Access 2007 para crear expresiones. Para obtener ms informacin sobre la creacin de expresiones, vea el artculo Crear una expresin.

En este artculo

Informacin 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 validacin de campo Ejemplos de expresiones de condiciones de macro

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.
VOLVER AL PRINCIPIO

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 propiedadOrigen 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 ="N/A" =[Nombre] & " " & [Apellidos] RESULTADO 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

=Izq([Nombre de producto], 1)

Nombre, un carcter de espacio (entre comillas) y el campo Apellidos. Usa la funcin Izq para mostrar el primer carcter del valor de un campo o control denominado Nombre de producto.

=Der([Cdigo de activo], 2)

Usa la funcin Der para mostrar los dos ltimos caracteres del valor de un campo o control denominado Cdigo de activo. =Recortar([Direccin]) Usa la funcin Recortar para mostrar el valor del control Direccin sin espacios iniciales o finales. =SiInm(EsNulo([Regin]), Usa la funcin SiInm para mostrar los [Ciudad] & " " & [Cdigo valores de los controles Ciudad y postal], [Ciudad] & " " & Cdigo postal si el valor del control [Regin] & " " & [Cdigo Regin es nulo; en caso contrario, postal]) muestra los valores de los controles Ciudad, Regin y Cdigo postal, separados por espacios. =[Ciudad] & (" " + [Regin]) & " Usa el operador + y la propagacin de " & [Cdigo postal] 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 operador + admite la propagacin de valores 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 artculoInsertar nmeros de pgina en un formulario o informe. EXPRESIN =[Pgina] ="Pgina " & [Pgina] ="Pgina " & [Pgina] & " de " & [Pginas] RESULTADO DE EJEMPLO 1 Pgina 1 Pgina 1 de 3

=[Pgina] & " de " & [Pginas] & " 1 de 3 Pginas Pginas" =[Pgina] & "/" & [Pginas] & " Pginas" 1/3 Pginas =[Pas o regin] & " - " & [Pgina] =Formato([Pgina], "000") Reino Unido - 1 001

="Impreso el: " & Fecha()

Impreso el: 31/12/07

Expresiones que realizan operaciones aritmticas


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 =[Subtotal]+[Transporte] RESULTADO Suma de los valores de los campos o controles denominados Subtotal y Transporte. Intervalo entre los valores de fecha de los campos o controles denominados FechaRequerida y FechaEnvo. Producto del valor del campo o control denominado Precio y 1,06 (suma un 6 por ciento al valor de Precio).

=[FechaRequerida]-[FechaEnvo]

=[Precio]*1,06

=[Cantidad]*[Precio]

Producto de los valores de los campos o controles denominados Cantidad y Precio. =[TotalEmpleado]/[TotalPasRegin] Cociente de los valores de los campos o controles denominados

TotalEmpleado y 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).

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 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 =Formularios![Pedidos]![IdPedido] =Formularios![Pedidos]![Subformulario Pedidos].Formulario![SubtotalPedido] RESULTADO Valor del control IdPedido en el formulario Pedidos. Valor del control SubtotalPedido en el subformulario denominado Subformulario Pedidos del

=Formularios![Pedidos]![Subformulario Pedidos]![IdProducto].Columna(2)

=Formularios![Pedidos]![Subformulario Pedidos]![Precio] * 1,06

formulario 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 hace referencia a la primera columna, 1 a la segunda, y as sucesivamente). 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). Valor del control IdPedido ubicado en el formulario principal del actual subformulario.

=Parent![IdPedido]

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 =Informe![Factura]![IdPedido] RESULTADO Valor del control denominado "IdPedido" en el informe

=Informe![Resumen]![Subinforme Resumen]![Total Ventas]

denominado "Factura". Calor del control denominado Total Ventas ubicado en el subinforme denominado Subinforme Resumen del informe denominado Resumen. Valor del control denominado IdPedido en el formulario principal del actual subinforme.

=Parent![IdPedido]

Expresiones que realizan un recuento, suman y calculan el promedio de valores


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 =Promedio([Transporte]) DESCRIPCIN Usa la funcin Promedio para mostrar el promedio de los valores de un campo de tabla o control denominado "Transporte". Usa la funcin Cuenta para mostrar el nmero de registros en el control denominado IdPedido.

=Cuenta([IdPedido])

=Suma([Ventas])

Usa la funcin Suma para mostrar la suma de los valores del control denominado Ventas.

=Suma([Cantidad]*[Precio])

Usa la funcin 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 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 valores de manera selectiva mediante funciones de agregado 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 =DBsq("[Nombre de contacto]", "[Proveedores]", "[Id. de proveedor] = " & Formularios("Proveedores")("[Id. de proveedor]"))

=DBsq("[Nombre de contacto]", "[Proveedores]", "[Id. de proveedor] = " & Formularios![Nuevos proveedores]![Id. de proveedor])

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. d proveedor de la tabla coincida con el valor del control Id. de proveedor ubicado en el formulario denominado 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. d 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 Usa la cliente] = 'RATTC'") funcin DSuma para devolver el total de lo 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 funcin DCuenta par devolver el nmero d valores S en el camp 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 =Fecha() DESCRIPCIN Usa la funcin Fecha para mostrar la fecha actual con el formato mm-dd-aa, donde mmes el mes (del 1 al 12), dd es el da (del 1 al 31)

=Formato(Ahora(), "ss")

y aa representa los dos 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, donde ss representa las semanas del 1 al 53.

=ParcFecha("aaaa", [FechaPedido])

Usa la funcin ParcFecha para mostrar el ao de cuatro dgitos correspondiente al valor del control denominado IdPedido. =AgregFecha("a", -10, Usa la funcin AgregFecha para mostrar la fecha [Fecha prometida]) correspondiente a 10 das antes del valor del control denominado Fecha prometida. =DifFecha("d", Usa la funcin DifFecha para mostrar la [FechaPedido], diferencia en nmero de das entre los valores de [FechaEnvo]) los controles denominados FechaPedido y FechaEnvo. =[FechaFactura] + 30 Usa operaciones aritmticas con fechas para calcular la fecha correspondiente a 30 das despus 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 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 =SiInm([Confirmado] = "S", "Pedido confirmado", "Pedido sin confirmar") DESCRIPCIN Usa la funcin 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([Pas o regin]), " ", Usa las [Pas]) funciones SiInm y EsNulo para que se muestre una cadena vaca si el valor del control Pas o regin es nulo; en caso contrario, se muestra el valor del control Pas o regin. =IIf(EsNulo([Regin]),[Ciudad]&" Usa las "& [CdigoPostal], [Ciudad]&" funciones SiInm y EsNulo para que "&[Regin]&" " &[CdigoPostal]) se muestren los valores de los controles denominados Ciudad y Cdigo postal si el valor del control denominado Regin es nulo; en caso contrario, se muestran los valores de los campos o controles Ciudad, Regin y Cdigo postal. =SiInm(EsNulo([FechaRequerida]) O EsNulo([FechaEnvo]), "Comprobar si falta una fecha", [FechaRequerida] - [FechaEnvo]) 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; en caso contrario, se muestra el intervalo

entre los valores de fecha de los controles denominados FechaRequerida y 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 elGenerador de expresiones. Para obtener ms informacin sobre el uso del Generador de expresiones, vea el artculo Crear una expresin.

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 operacin con texto para crear un campo calculado. EXPRESIN DESCRIPCIN NombreCompleto: [Nombre] & " " & Crea un campo denominado [Apellidos] NombreCompleto que muestre los valores de los campos denominados Nombre y Apellidos, separados por un espacio. Direccin2: [Ciudad] & " " & Crea un campo denominado

[Regin] & " " & [Cdigo postal]

Direccin2 que muestre los valores de los campos Ciudad, Regin y Cdigo postal, separados por espacios. InicialProducto:Izq([Nombre de Crea un campo denominado producto], 1) InicialProducto y, a continuacin, usa la funcin Izqpara mostrar en el campo denominado InicialProducto el primer carcter del valor del campo Nombre de producto. CdigoTipo: Der([Cdigo de activo], Crea un campo denominado 2) CdigoTipo y, a continuacin, usa la funcin Derpara mostrar los dos ltimos caracteres de los valores del campo Cdigo de activo. Cdigorea:Medio([Telfono],2,3) Crea un campo denominado Cdigorea y, a continuacin, usa la funcin Mediopara mostrar los tres caracteres a partir del segundo carcter del valor del campo Telfono.

Expresiones que realizan operaciones aritmticas en campos calculados


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 TransporteBsico: [Transporte] * 1.1

DESCRIPCIN Crea un campo denominado TransporteBsic continuacin, m los gastos de tra ms un 10 por c en el campo.

ImportePedido: [Cantidad] * [PrecioUnidad]

TiempoDeEspera: [FechaRequerida] - [FechaEnvo]

TotalExistencias: [Unidades en existencias]+[Unidades de pedido]

Crea un campo denominado ImportePedido y continuacin, m el producto de lo valores de los ca Cantidad y PrecioUnidad. Crea un campo denominado TiempoDeEsper continuacin, m la diferencia ent valores de los ca FechaRequerida FechaEnvo. Crea un campo denominado TotalExistencias continuacin, m la suma de los v

de los campos Unidades en existencias y Un de pedido. PorcentajeTransporte:Suma([Transporte])/Suma([Subtotal]) Crea un campo *100 denominado PorcentajeTrans y, a continuaci muestra el porce de los gastos de transporte en ca subtotal. Esta expresin usa la funcin Suma p sumar los valore campo Transpor continuacin, di esos totales entr suma de los valo campo Subtotal. Para usar esta expresin, debe convertir la cons seleccin en una consulta de total porque debe usa fila Total en la cuadrcula de di debe establecer celda Total de e campo en Expre Para obtener m

informacin sob creacin de una consulta de total el artculo Suma mediante una co Si establece la propiedad Form campo en Porce 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 Intervalo: DifFecha("d", [FechaPedido], [FechaEnvo])

DESCRIPCIN Crea un campo denominado Interv y, a continuacin, la

funcin DifFechap mostrar el nmero das entre la fecha pedido y la fecha d envo.

AoContratacin:ParcFecha("aaaa",[FechaContratacin]) Crea un campo denominado AoContratacin y continuacin, usa l funcinParcFecha mostrar el ao en q se contrat a cada empleado. MenosTreinta: Fecha( )- 30 Crea un campo denominado MenosTreinta y, a continuacin, usa l funcinFecha para mostrar la fecha 30 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 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 NmeroFilas:Cuenta(*)

DESCRIPCIN Crea un campo denominado NmeroFilas y, continuacin, us funcin Cuenta contar el nmero registros de la consulta, incluid registros con cam nulos (en blanco PorcentajeTransporte:Suma([Transporte])/Suma([Subtotal]) Crea un campo *100 denominado PorcentajeTrans y, a continuaci calcula el porcen

los gastos de tra en cada subtotal mediante la divi la suma de valor campo Transpor suma de los valo campo Subtotal. este ejemplo, se funcin Suma.) NOTA Esta ex debe usarse con consulta de total establece la propiedad Form campo en Porce no incluya*100. . Para obtener m informacin sob creacin de una consulta de total el artculo Suma mediante una co TransporteMedio: DProm("[Transporte]", "[Pedidos]")

Crea un campo denominado TransporteMedi continuacin, us funcin DProm calcular el prom los gastos de tra de todos los ped combinados en u

consulta de total

Expresiones para trabajar con campos que contienen informacin que falta (campos con valores nulos)
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 PasReginActual:SiInm(EsNulo([PasRegin]), Crea un campo denominad " ", [PasRegin]) PasReginActual y, a continuacin, usa las funciones SiInm y EsNulo que se muestre una cadena vaca en ese campo si el ca PasRegin contiene un va nulo; en caso contrario, se muestra el contenido del ca PasRegin. TiempoDeEspera: =SiInm(EsNulo([FechaRequerida] [FechaEnvo]), "Comprobar si falta una fecha",

Crea un campo denominad TiempoDeEspera y, a continuacin, usa las

[FechaRequerida] - [FechaEnvo])

funciones SiInm y EsNulo que se muestre el mensaje "Comprobar si falta una fe si el valor del campo FechaRequerida o del cam FechaEnvo es nulo; en cas contrario, se muestra la diferencia entre las fechas.

VentasSemestrales:Nz([VentasPrimerTrimestre]) Crea un campo denominad + Nz([VentasSegundoTrimestre]) VentasSemestrales y, a continuacin, muestra el to de los valores de los campo VentasPrimerTrimestre y VentasSegundoTrimestre usando primero la funcin Nz para convertir l valores nulos en cero.

Expresin que usa una subconsulta para crear un campo calculado


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 Cat: (SELECT [NombreCategora] FROM [Categoras] WHERE [Productos].[IdCategora]=[Categoras].[IdCategora]) 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 mismo que el Id. de categora 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 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 elGenerador 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.

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 CiudadEnvo CiudadEnvo EXPRESIN "Londres" "Londres" O "Hedge End" DESCRIPCIN Muestra los pedidos enviados a Londres. Usa el operador O para mostrar los pedidos enviados a Londres o Hedge End. Usa el operador En para mostrar los pedidos enviados a Canad o al Reino Unido. Usa el operador No para mostrar los pedidos enviados a pases o regiones que no sean los Estados Unidos. Usa el operador No y el carcter comodn * para

ReginCiudadEnvo En("Canad", "Reino Unido")

ReginCiudadEnvo No "EE.UU."

NombreProducto

No como "C*"

mostrar los productos cuyo nombre no comience por C. NombreCompaa >="N" Muestra los pedidos enviados a las compaas cuyo nombre comience por las letras comprendidas entre la N y la Z. Usa la funcin Der para mostrar los pedidos cuyo valor de CdigoProducto acabe en 99. Muestra los pedidos enviados a clientes cuyo nombre comience con la letra S.

CdigoProducto

Der([CdigoProducto], 2)="99"

NombreEnvo

Como "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 FechaEnvo EXPRESIN #02.02.2007#

DESCRIPCIN Muestra los pedi febrero de 2007.

FechaEnvo Fecha( ) FechaObligatoria Entre Fecha( ) Y AgregFecha("m", 3, Fecha( ))

Muestra los pedi Usa el operador funcionesAgreg mostrar los pedi fecha de hoy y tr fecha actual.

FechaPedido

< Fecha() - 30

FechaPedido

FechaPedido

FechaPedido

FechaPedido

Usa la funcin F pedidos con una 30 das. Ao([FechaPedido])=2007 Usa la funcin A pedidos cuya fec corresponda al 2 ParcFecha("t", [FechaPedido])=4 Usa la funcin P mostrar los pedi cuarto trimestre SerieFecha(Ao Usa las ([FechaPedido]),Mes([FechaPedido])+1, funciones SerieF 1)-1 mostrar los pedi ltimo da de cad Ao([FechaPedido])= Ao(Ahora()) Y Usa las funcione Mes([FechaPedido])= Mes(Ahora()) el operadorY pa correspondientes actuales. Entre #05.01.2007# y #10.01.2007#

FechaEnvo

Usa el operador los pedidos envi enero de 2007 y de 2007.

FechaObligatoria Entre Fecha() Y AgregFecha("M", 3, Fecha())

Usa el operador los pedidos requ hoy y tres meses

Fecha de nacimiento

actual. Mes([FechaNacimiento])=Mes(Fecha()) Usa las funcione mostrar a los em cumpleaos se c

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 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 ReginEnvo Es Nulo Muestra los pedidos de los clientes cuyo campo ReginEnvo sea nulo (informacin que falta). ReginEnvo No es Nulo Fax "" Muestra los pedidos de los clientes cuyo campo 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 valor nulo (informacin 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 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 NombreEnvo Como "S*" DESCRIPCIN Busca todos los registros del campo NombreEnvo que empiecen con la letra S. NombreEnvo Como Busca todos los registros del campo "*Importaciones" NombreEnvo que terminen con la palabra Importaciones. NombreEnvo Como "[A-D]*" Busca todos los registros del campo NombreEnvo que comiencen con la letra A, B, C D. NombreEnvo Como "*ar*" Busca todos los registros del campo NombreEnvo que incluyan la

NombreEnvo Como "Casa Dewe?"

NombreEnvo No como "A*"

secuencia de letras "ar". Busca todos los registros del campo NombreEnvo 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. Busca todos los registros del campo NombreEnvo que no empiecen con la letra A.

Expresiones que hacen coincidir filas basndose en el resultado de una funcin de agregado 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 Transporte > (DDesvEst("[Transporte]", "Pedidos") +DProm("[Transporte]", "Pedidos")) DESCRIPCIN Usa las funciones DDesvEst y DProm para mostrar todos los pedidos cuyos gastos de transporte sean mayores que el promedio ms la desviacin estndar de los gastos de transporte.

Cantidad

> DProm("[Cantidad]", "[Detalles de pedidos]")

Usa la funcin DProm para mostrar los productos ordenados por cantidad mayor que el promedio de las cantidades de pedido.

Expresiones que hacen coincidir basndose en los resultados de subconsultas


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 PrecioUnidad EXPRESIN (SELECT [PrecioUnidad] FROM [Productos] WHERE [NombreProducto] = "Sirope de regaliz") >(SELECT AVG([PrecioUnidad]) FROM [Productos]) > ALL (SELECT [Salario] FROM [Empleados] WHERE ([Cargo] LIKE "*Director*") OR ([Cargo] LIKE "*Vicepresidente*")) > (SELECT AVG([PrecioUnidad] * MUESTRA Productos cuyo precio sea igual que el precio del sirope de regaliz. Productos cuyo precio por unidad sea mayor que el promedio. Salario de todos los representantes cuyo salario sea mayor que el de los empleados con cargos de "Director" o "Vicepresidente". Pedidos cuyo total sea mayor que el valor de

PrecioUnidad

Salario

TotalPedido: [PrecioUnidad]

* [Cantidad]

[Cantidad]) FROM [Detalles de pedidos])

pedido medio.

Expresiones que se usan en las consultas de actualizacin


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 ade 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 Ttulo InicioProyecto EXPRESIN "Vendedor" #10.08.2007# RESULTADO Cambia un valor de texto a Vendedor. Cambia un valor de fecha al 10 de agosto de 2007. Cambia a S un valor No de un campo de tipo S/No. Agrega NP al principio de cada nmero de pieza especificado. Calcula el producto de

Retirados

NmeroPieza

"NP" & [NmeroPieza]

TotalArtculoLnea [PrecioUnidad] *

[Cantidad] Transporte [Transporte] * 1,5

PrecioUnidad y Cantidad. Incrementa los gastos de transporte en un 50 por ciento. 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 basndose en el producto de Cantidad y PrecioUnidad. Trunca los caracteres situados ms a la izquierda, dejando los cinco caracteres ms situados a la derecha. Cambia un valor nulo (valor sin definir o desconocido) a cero (0) en el campo PrecioUnidad.

Ventas

DSuma("[Cantidad] * [PrecioUnidad]", "Detalles de pedidos", "[IdProducto]=" & [IdProducto])

CdigoPostalEnvo Der([CdigoPostalEnvo], 5)

PrecioUnidad

Nz([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 SELECT [Nombre],[Apellidos] FROM [Empleados] WHERE [Apellidos]="Cornejo" SELECT [IdProducto],[NombreProducto] FROM [Productos] WHERE [IdCategora]=Formularios![Nuevos productos]![IdCategora]; RESULTADO Muestra los valores de los campos Nombre y Apellidos de los empleados cuyo apellido sea Cornejo.

Muestra los valores de los campos IdProducto y NombreProducto de la tabla Productos para los registros donde el valor de IdCategora coincida con el valor de IdCategora especificado en un formulario abierto denominado Nuevos productos. SELECT Avg([PrecioTotal]) AS [Precio Calcula el precio total medio de total medio] FROM [Detalles de pedidos los pedidos para los que el ampliados] WHERE [PrecioTotal]>1000; valor del campo PrecioTotal sea mayor que 1.000 y lo muestra en un campo denominado Precio total medio. SELECT [IdCategora], Count([IdProducto]) AS [NmeroDeIdProducto] FROM [Productos] GROUP BY [IdCategora] HAVING Count([IdProducto])>10;
VOLVER AL PRINCIPIO

En un campo denominado NmeroDeIdProducto, muestra el nmero total de productos de las categoras con ms de 10 productos.

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 Cantidad Regin EXPRESIN VALOR DE CAMPO PREDETERMINADO 1 1 "MT" MT

Regin

"Nueva York, N.Y." ""

Nueva York, N.Y. (Observe que debe escribir el valor entre comillas si incluye puntuacin.) Cadena de longitud cero que indica que, de manera predeterminada, este campo debe estar vaco en vez de contener un valor nulo. Fecha actual Fecha a los 60 das de la fecha actual

Fax

Fecha de pedido

Fecha( )

FechaVencimiento Fecha() +60


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 propiedadRegla de validacin y el texto asociado de la propiedad Texto de validacin. PROPIEDAD REGLA DE VALIDACIN <> 0 0 Or > 100 Como "K???" < #01.01.2007# >= #01.01.2007# Y < #01.01.2008# PROPIEDAD TEXTO DE VALIDACIN Especifique un valor distinto de cero. El valor debe ser igual que cero o mayor que 100. El valor debe constar de cuatro caracteres y comenzar por la letra K. Especifique una fecha anterior al 1 de enero de 2007. 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). USE ESTA EXPRESIN PARA LLEVAR A CABO LA ACCIN SI

[Ciudad]="Pars"

Pars es el valor de Ciudad en el campo en el formulario desde el cual se ejecut la macro. Hay ms de 35 entradas en el campo IdPedido de la tabla Pedidos. Hay ms 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. 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-Mar2007.

DCuenta("[IdPedido]", "Pedidos") > 35

DCuenta("*", "[Detalles de pedidos]", "[IdPedido]=" & Formularios![Pedidos]![IdPedido]) > 3

[FechaEnvo] Entre #2-Feb-2007# Y #2-Mar2007#

Formularios![Productos]![UnidadesEnExistencias] El valor del campo <5 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 expresin es equivalente a [Nombre] Es Nulo. [PasRegin]="Reino Unido" Y Formularios![TotalVentas]![TotalPedidos] > 100 El valor del campo PasRegin 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. 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 longitud. Se hace clic en Aceptar en un cuadro de dilogo que muestre la funcinCuadroMsj. Si se hace clic en Cancelar en el

[PasRegin] En ("Francia", "Italia", "Espaa") Y Longitud([CdigoPostal])<>5

CuadroMsj("Confirmar cambios?",1)=1

cuadro de dilogo, Access 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. Para obtener ms informacin sobre las macros, vea los artculos Conceptos bsicos de las macros en Access 2007y Crear una macro.
VOLVER AL PRINCIPIO

Le result este artculo de ayuda?


S No No es lo que esperaba

Corresponde a: Access 2007 Vea tambin: Crear una expresin Gua de la sintaxis de expresiones Introduccin a las expresiones