Ejemplos de Expresiones
Ejemplos de Expresiones
Ejemplos de Expresiones
Corresponde a: Microsoft Office Access 2007 Imprimir 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
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
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]), [Ciudad] & los controles Ciudad y Cdigo postal si el valor del " " & [Cdigo postal], [Ciudad] & " " control Regin es nulo; en caso contrario, muestra & [Regin] & " " & [Cdigo postal]) los valores de los controles Ciudad, 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, =[Ciudad] & (" " + [Regin]) & " " & Regin y Cdigo postal, separados por espacios. [Cdigo postal] 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.
=Formularios![Pedidos]![Subformulario Pedidos].Formulario![SubtotalPedido]
=Formularios![Pedidos]![Subformulario Pedidos]![IdProducto].Columna(2)
=Parent![IdPedido]
Valor del control SubtotalPedido en el subformulario denominado Subformulario Pedidos del 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.
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] =Informe![Resumen]![Subinforme Resumen]![Total Ventas] =Parent![IdPedido] Resultado Valor del control denominado "IdPedido" en el informe 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.
=[Ventas]/Suma([Ventas])*100
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. Usa la funcin Suma para mostrar la suma de los valores del control denominado Ventas. Usa la funcin Suma para mostrar la suma del producto de los valores de los controles denominados Cantidad y Precio. 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. Descripcin Usa la funcin DBsq para devolver el valor del campo Nombre de contacto de la tabla denominada Proveedores =DBsq("[Nombre de contacto]", "[Proveedores]", "[Id. de donde el valor del campo Id. proveedor] = " & Formularios("Proveedores")("[Id. de de proveedor de la tabla proveedor]")) coincida con el valor del control Id. de proveedor ubicado en el formulario denominado Proveedores. =DBsq("[Nombre de contacto]", "[Proveedores]", "[Id. de Usa la funcin DBsq para Expresin
=DCuenta("[Retirados]","[Activos]","[Retirados]=S")
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. Usa la funcin 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. 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.
=Formato(Ahora(), "ss") =ParcFecha("aaaa", [FechaPedido]) =AgregFecha("a", -10, [Fecha prometida]) =DifFecha("d", [FechaPedido],
[FechaEnvo]) =[FechaFactura] + 30
FechaPedido y FechaEnvo. Usa operaciones aritmticas con fechas para calcular la fecha correspondiente a 30 das despus de la fecha del campo o control denominado FechaFactura.
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.
producto], 1)
continuacin, usa la funcin Izq para mostrar en el campo denominado InicialProducto el primer carcter del valor del campo Nombre de producto. Crea un campo denominado CdigoTipo y, a CdigoTipo: Der([Cdigo de continuacin, usa la funcin Der para mostrar los dos activo], 2) ltimos caracteres de los valores del campo Cdigo de activo. Crea un campo denominado Cdigorea y, a continuacin, usa la funcin Medio para mostrar los Cdigorea: Medio([Telfono],2,3) tres caracteres a partir del segundo carcter del valor del campo Telfono.
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.
AoContratacin: ParcFecha("aaaa",[FechaContratacin])
MenosTreinta: Fecha( )- 30
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, a continuacin, usa la funcin Cuenta para contar el nmero de registros de la consulta, incluidos los registros con campos nulos (en 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 Esta 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 artculo Sumar datos mediante una consulta. 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.
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 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 muestra el contenido del campo 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 FechaRequerida o del campo FechaEnvo es nulo; en caso contrario, se muestra la 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 funcin Nz para convertir los valores nulos en cero.
ReginCiudadEnvo
ReginCiudadEnvo No "EE.UU."
NombreProducto
No como "C*"
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 mostrar los productos cuyo nombre no comience por C. 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.
FechaObligatoria
FechaPedido
< Fecha() - 30
FechaPedido
Ao([FechaPedido])=2007
FechaPedido
ParcFecha("t", [FechaPedido])=4
FechaPedido
FechaPedido
FechaEnvo
FechaObligatoria
Fecha de nacimiento
Mes([FechaNacimiento])=Mes(Fecha())
fecha de pedido corresponda al 2007. Usa la funcin ParcFecha para mostrar los pedidos correspondientes al cuarto trimestre de calendario. Usa las funciones SerieFecha, Ao y Mes para mostrar los pedidos correspondientes al ltimo da de cada mes. Usa las funciones Ao y Mes as como el operador Y para mostrar los pedidos correspondientes al ao y al mes actuales. Usa el operador Entre...Y para mostrar los pedidos enviados despus del 5 de enero de 2007 y antes del 10 de enero de 2007. Usa el operador Entre...Y para mostrar los pedidos requeridos entre la fecha de hoy y tres meses a partir de la fecha actual. Usa las funciones Mes y Fecha para mostrar a los empleados cuyo cumpleaos 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 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 sea nulo (informacin que falta). 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 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. Descripcin Usa las funciones DDesvEst y DProm > (DDesvEst("[Transporte]", para mostrar todos los pedidos cuyos Transporte "Pedidos") + gastos de transporte sean mayores que el DProm("[Transporte]", "Pedidos")) promedio ms la desviacin estndar de los gastos de transporte. Usa la funcin DProm para mostrar los > DProm("[Cantidad]", "[Detalles productos ordenados por cantidad mayor Cantidad de pedidos]") que el promedio de las cantidades de pedido. Campo Expresin
PrecioUnidad
Salario
Productos cuyo precio por unidad sea mayor que el promedio. Salario de todos los > ALL (SELECT [Salario] FROM representantes cuyo salario sea [Empleados] WHERE ([Cargo] LIKE mayor que el de los empleados "*Director*") OR ([Cargo] LIKE con cargos de "Director" o "*Vicepresidente*")) "Vicepresidente". > (SELECT AVG([PrecioUnidad] * Pedidos cuyo total sea mayor que [Cantidad]) FROM [Detalles de el valor de pedido medio. pedidos])
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 Ttulo Resultado Cambia un valor de texto a Vendedor. Cambia un valor de fecha al 10 de InicioProyecto #10.08.2007# agosto de 2007. Cambia a S un valor No de un campo Retirados S de tipo S/No. Agrega NP al principio de cada nmero NmeroPieza "NP" & [NmeroPieza] de pieza especificado. Calcula el producto de PrecioUnidad y TotalArtculoLnea [PrecioUnidad] * [Cantidad] Cantidad. Incrementa los gastos de transporte en Transporte [Transporte] * 1,5 un 50 por ciento. Cuando los valores de IdProducto de la DSuma("[Cantidad] * actual tabla coinciden con los valores de [PrecioUnidad]", IdProducto de la tabla Detalles de Ventas "Detalles de pedidos", pedidos, se actualizan los totales de "[IdProducto]=" & ventas basndose en el producto de [IdProducto]) Cantidad y PrecioUnidad. Trunca los caracteres situados ms a la CdigoPostalEnvo Der([CdigoPostalEnvo], 5) izquierda, dejando los cinco caracteres ms situados a la derecha. Cambia un valor nulo (valor sin definir o PrecioUnidad Nz([PrecioUnidad]) desconocido) a cero (0) en el campo PrecioUnidad. Expresin "Vendedor"
Muestra los valores de los campos SELECT [IdProducto],[NombreProducto] IdProducto y NombreProducto de la tabla FROM [Productos] WHERE Productos para los registros donde el valor [IdCategora]=Formularios![Nuevos de IdCategora coincida con el valor de productos]![IdCategora]; IdCategora especificado en un formulario abierto denominado Nuevos productos. Calcula el precio total medio de los SELECT Avg([PrecioTotal]) AS [Precio total pedidos para los que el valor del campo medio] FROM [Detalles de pedidos ampliados] PrecioTotal sea mayor que 1.000 y lo WHERE [PrecioTotal]>1000; muestra en un campo denominado Precio total medio. SELECT [IdCategora], Count([IdProducto]) En un campo denominado AS [NmeroDeIdProducto] FROM [Productos] NmeroDeIdProducto, muestra el nmero GROUP BY [IdCategora] HAVING total de productos de las categoras con Count([IdProducto])>10; ms de 10 productos. Volver al principio
Fax
""
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
#01.01.2008# 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
2007 y no es posterior al 2-Mar2007. El valor del campo Formularios![Productos]![UnidadesEnExistencias] < 5 UnidadesEnStock del formulario Productos es menor que cinco. El valor Nombre del formulario desde el que se ejecuta la macro es EsNulo([Nombre]) nulo (no tiene valor). Esta expresin es equivalente a [Nombre] Es Nulo. El valor del campo PasRegin del formulario desde el cual se ejecuta [PasRegin]="Reino Unido" Y la macro es el Reino Unido y el Formularios![TotalVentas]![TotalPedidos] > 100 valor del campo TotalPedidos del formulario TotalVentas es mayor que 100. El valor del campo PasRegin del formulario desde el cual se ejecuta [PasRegin] En ("Francia", "Italia", "Espaa") Y la macro es Francia, Italia o Longitud([CdigoPostal])<>5 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 CuadroMsj("Confirmar cambios?",1)=1 funcin CuadroMsj. Si se hace clic en Cancelar en el cuadro de dilogo, Access omite la accin.