Ejemplos de expresiones

En este artículo se proporcionan ejemplos de expresiones en Access. Una expresión es una combinación de operadores lógicos o matemáticos, constantes, funciones, campos de tabla, controles y propiedades que dan como resultado un único valor. Puede usar expresiones en Access para calcular valores, validar datos y establecer un valor predeterminado de un campo o control.

Nota: Aunque en este artículo se proporcionan pasos básicos para crear expresiones, no es una guía completa para usar las herramientas que proporciona Access para crear expresiones. Para obtener más información sobre cómo crear expresiones, vea el artículo Crear una expresión.

En este artículo

Información sobre las expresiones

Ejemplos de expresiones usadas en formularios e informes

Ejemplos de expresiones usadas en consultas y filtros

Ejemplos de expresiones de valor predeterminado

Ejemplos de expresiones de regla de validación de campo

Ejemplos de expresiones de condiciones de macro

Información sobre las expresiones

En Access, el término expresión es sinónimo de fórmula. Una expresión consiste en un número de posibles elementos que puede usar, de forma individual o en conjunto, para producir un resultado. Entre estos elementos se incluyen los siguientes:

  • Identificadores: nombres de campos de tabla o controles en formularios o informes, o bien las propiedades de esos campos o controles.

  • Operadores, como + (más) o - (menos)

  • Funciones, como SUMA o PROM

  • Constantes (valores que no cambian) como cadenas de texto o números no calculados por una expresión.

Las expresiones se pueden usar de varias maneras, como realizar un cálculo, recuperar el valor de un control o proporcionar criterios a una consulta, entre otras.

Para obtener más información sobre cómo y dónde se pueden usar expresiones, vea el artículo Crear una expresión.

Principio de página

Ejemplos de expresiones usadas en formularios e informes

En las tablas de esta sección se proporcionan ejemplos de expresiones que calculan un valor en un control ubicado en un formulario o informe. Para crear control calculado, escriba una expresión en la propiedad Origen del control, en lugar de escribirla en un campo o una consulta la tabla.

En los pasos siguientes se explica cómo escribir una expresión en un control de cuadro de texto en un formulario o informe existente.

Crear un control calculado

  1. En el panel de navegación, haga clic con el botón derecho en el formulario o informe que quiera cambiar y, en el menú contextual, haga clic en Vista Diseño Imagen de botón .

  2. En el formulario o informe, haga clic con el botón derecho en el control de cuadro de texto que quiera cambiar (no en la etiqueta asociada al cuadro de texto) y, después, haga clic en Propiedades en el menú contextual.

  3. Si es necesario, haga clic en la pestaña Todos o en la pestaña Datos. En las dos pestañas se proporciona la propiedad Origen del control.

  4. Haga clic en el cuadro junto a la propiedad Origen del control y escriba su expresión. Por ejemplo, puede copiar y pegar una expresión de la columna Expresión de la tabla en la sección siguiente.

  5. Cierre la hoja de propiedades.

Expresiones que combinan o manipulan texto

En las expresiones de la tabla siguiente se usan los operadores & (Y comercial) y + (signo más) para combinar cadenas de texto, usar funciones integradas para manipular una cadena de texto, o bien realizar otra operación con texto para crear un control calculado.

Expresión

Resultado

="N/A"

Muestra N/A.

=[Nombre] & " " & [Apellidos]

Muestra los valores que residen en los campos de tabla llamados Nombre y Apellidos. En este ejemplo, el operador & se usa para combinar el campo Nombre, un carácter de espacio (delimitado con comillas) y el campo Apellidos.

=Izq([NombreDeProducto]; 1)

Usa la función Izq para mostrar el primer carácter del valor de un campo o control denominado NombreDeProducto.

=Der([CódigoDeActivo]; 2)

Usa la función Der para mostrar los 2 últimos caracteres del valor de un campo o control denominado CódigoDeActivo.

=Recortar([Dirección])

Usa la función Recortar para mostrar el valor del control Dirección sin espacios iniciales ni finales.

=SiInm(EsNulo([Región]), [Ciudad] & " " & [CódigoPostal], [Ciudad] & " " & [Región] & " " & [CódigoPostal])

Usa la función SiInm para mostrar los valores de los controles Ciudad y CódigoPostal si el valor del control Región es nulo; en caso contrario, muestra los valores de los controles Ciudad, Región y CódigoPostal, separados por espacios.

=[Ciudad] & (" " + [Región]) & " " & [CódigoPostal]

Usa el operador + y la propagación de valores nulos para mostrar los valores de los controles Ciudad y CódigoPostal si el valor del campo o control Región es nulo; en caso contrario, muestra los valores de los campos o controles Ciudad, Región y CódigoPostal, separados por espacios.

Una propagación de valores nulos quiere decir que, si cualquier componente de una expresión es nulo, toda la expresión también será nula. El operador + admite la propagación de valores nulos, pero el operador & no.

Expresiones en encabezados y pies de página

Use las propiedades Página y Páginas para mostrar o imprimir números de página en formularios o informes. Las propiedades Página y Páginas solo están disponibles durante la impresión o la vista previa de impresión, por lo que no aparecen en la hoja de propiedades del formulario o informe. Normalmente, estas propiedades se usan al colocar un cuadro de texto en la sección del encabezado o pie de página del formulario o informe y, después, se usa una expresión, como las que se muestran en la tabla siguiente.

Para obtener más información sobre el uso de encabezados y pies de página en formularios e informes, vea el artículo Insertar números de página en un formulario o informe.

Expresión

Resultado de ejemplo

=[Página]

1

="Página " & [Página]

Página 1

="Página " & [Página] & " de " & [Páginas]

Página 1 de 3

=[Página] & " de " & [Páginas] & " páginas"

1 de 3 páginas

=[Página] & "/" & [Páginas] & " páginas"

1/3 páginas

=[País o región] & " - " & [Página]

Reino Unido - 1

=Formato([Página]; "000")

001

="Impreso el: " & Fecha()

Impreso el: 31/12/07

Expresiones que realizan operaciones aritméticas

Puede usar expresiones para sumar, restar, multiplicar y dividir los valores en dos o más campos o controles. También puede usar expresiones para realizar operaciones aritméticas en fechas. Por ejemplo, imagine que tiene un campo de tabla de fecha y hora denominado FechaObligatoria. En el campo, o bien en un control enlazado al campo, la expresión =[FechaObligatoria] - 2 devuelve un valor de fecha y hora igual a dos días antes de los valores actuales en el campo FechaObligatoria.

Expresión

Resultado

=[Subtotal]+[Transporte]

La suma de los valores de los campos o controles Subtotal y Transporte.

=[FechaObligatoria]-[FechaDeEnvío]

El intervalo entre los valores de fecha de los campos o controles FechaObligatoria y FechaDeEnvío.

=[Precio]*1,06

El producto del valor del campo o control Precio y 1,06 (suma un 6 % al valor Precio).

=[Cantidad]*[Precio]

El producto de los valores de los campos o controles Cantidad y Precio.

=[TotalDeEmpleados]/[TotalDePaísORegión]

El cociente de los valores de los campos o controles TotalDeEmpleados o TotalDePaísORegión.

Nota: Si usa un operador aritmético (+, -, * y /) en una expresión y el valor de uno de los controles de la expresión es nulo, el resultado de toda la expresión será nulo (esto se conoce como propagación de valores nulos). Si alguno de los registros de uno de los controles usados en la expresión tiene un valor nulo, puede evitar la propagación de valores nulos si convierte el valor nulo en cero con la función Nz, como =Nz([Subtotal])+Nz([Transporte]).

Para obtener más información sobre la función, vea el artículo Función Nz.

Expresiones que hacen referencia a valores en otros campos o controles

A veces, necesita un valor que exista en otro sitio, como en un campo o control de otro formulario o informe. Puede usar una expresión para devolver el valor de otro campo o control.

En la tabla siguiente se muestran ejemplos de expresiones que puede usar en controles calculados en formularios.

Expresión

Resultado

=Formularios![Pedidos]![IdDePedido]

El valor del control IdDePedido del formulario Pedidos.

=Formularios![Pedidos]![Subformulario de pedidos].Formulario![SubtotalDePedido]

El valor del control SubtotalDePedido en el subformulario llamado Subformulario de pedidos en el formulario Pedidos.

=Formularios![Pedidos]![Subformulario de pedidos]![IdDeProducto].Columna(2)

El valor de la tercera columna en IdDeProducto, un cuadro de lista de varias columnas en el subformulario llamado Subformulario de pedidos, en el formulario Pedidos (tenga en cuenta que 0 hace referencia a la primera columna, 1 hace referencia a la segunda columna, etc.).

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

El producto del valor del control Precio en el subformulario llamado Subformulario de pedidos, en el formulario Pedidos, y 1,06 (suma un 6 % al valor del control Precio).

=Primario![IdDePedido]

El valor del control IdDePedido en el formulario primario o principal del subformulario actual.

En las expresiones de la tabla siguiente se muestran algunas formas de usar controles calculados en informes. Las expresiones hacen referencia a la propiedad Informe.

Para obtener más información sobre esta propiedad, vea el artículo Informe (propiedad).

Expresión

Resultado

=Informe![Factura]![IdDePedido]

El valor de un control llamado "IdDePedido" en un informe llamado "Factura".

=Informe![Resumen]![Subinforme de resumen]![TotalDeVentas]

El valor del control TotalDeVentas en el subinforme llamado Subinforme de resumen en el informe resumido.

=Primario![IdDePedido]

El valor del control IdDePedido en el informe primario o principal del subinforme actual.

Expresiones que cuentan, suman y generan medias de valores

Puede usar un tipo de función llamada función de agregado para calcular valores de uno o más campos o controles. Por ejemplo, puede calcular un total de grupo para el pie de página de grupo en un informe, o bien un subtotal del pedido de artículos de línea en un formulario. También puede contar el número de elementos en uno o más campos, o bien calcular un valor medio.

En las expresiones de la tabla siguiente se muestran varias formas de usar las funciones Prom, Cuenta y Suma.

Expresión

Descripción

=Prom([Transporte])

Usa la función Prom para mostrar la media de los valores de un campo de tabla o control denominado "Transporte".

=Cuenta([IdDePedido])

Usa la función Cuenta para mostrar el número de registros en el control denominado IdDePedido.

=Suma([Ventas])

Usa la función Suma para mostrar la suma de los valores del control denominado Ventas.

=Suma([Cantidad]*[Precio])

Usa la función Suma para mostrar la suma del producto de los valores de los controles Cantidad y Precio.

=[Ventas]/Suma([Ventas])*100

Muestra el porcentaje de ventas, que se calcula al dividir el valor del control Ventas por la suma de todos los valores del control Ventas.

Nota: Si establece la propiedad Formato del control en Porcentaje, no incluya *100 en la expresión.

Para obtener más información sobre cómo usar las funciones de agregado y calcular el total de los valores de campos y columnas, vea los artículos Sumar datos con una consulta, Contar datos con una consulta, Contar las filas de una hoja de datos y Mostrar totales de columna en una hoja de datos.

Expresiones que cuentan, suman y buscan valores de forma selectiva con funciones de agregado de dominio

Puede usar un tipo de función denominada función de agregado de dominio si necesita sumar o contar valores de forma selectiva. Un "dominio" consiste en uno o más campos de una o más tablas, o bien en uno o más controles de uno o más formularios o informes. Por ejemplo, puede hacer coincidir los valores de un campo de tabla con los valores de un control en un formulario.

Expresión

Descripción

=DBúsq("[NombreDeContacto]"; "[Proveedores]"; "[IdDeProveedor] = " & Formularios("Proveedores")("[IdDeProveedor]"))

Usa la función DBúsq para devolver el valor del campo NombreDeContacto de la tabla Proveedores donde el valor del campo IdDeProveedor de la tabla coincida con el valor del control IdDeProveedor en el formulario Proveedores.

=DBúsq("[NombreDeContacto]"; "[Proveedores]"; "[IdDeProveedor] = " & Formularios![Nuevos proveedores]![IdDeProveedor])

Usa la función DBúsq para devolver el valor del campo NombreDeContacto de la tabla Proveedores donde el valor del campo IdDeProveedor de la tabla coincida con el valor del control IdDeProveedor en el formulario Nuevos proveedores.

=DSuma("[ImporteDePedido]"; "[Pedidos]"; "[IdCliente] = 'RATTC'")

Usa la función DSuma para devolver la suma total de los valores del campo ImporteDePedido de la tabla Pedidos donde IdCliente sea RATTC.

=DCont("[Retirados]";"[Activos]";"[Retirados]=Sí")

Usa la función DCont para devolver el número de valores de Sí en el campo Retirados (campo Sí/No) de la tabla Activos.

Expresiones que manipulan y calculan fechas

Realizar el seguimiento de valores de fecha y hora es una actividad esencial en las bases de datos. Por ejemplo, puede calcular el número de días transcurridos desde la fecha de una factura para calcular el vencimiento de sus cuentas por cobrar. Se puede dar formato a los valores de fecha y hora de diferentes formas, como se muestra en la tabla siguiente.

Expresión

Descripción

=Fecha()

Usa la función Fecha para mostrar la fecha actual con el formato dd-mm-aa, donde mm es el mes (de 1 a 12), dd es el día (de 1 a 31) y aa son los dos últimos dígitos del año (de 1980 a 2099).

=Formato(Ahora(); "ss")

Usa la función Formato para mostrar el número de semana del año correspondiente a la fecha actual, donde ss representa las semanas de la 1 a la 53.

=ParcFecha("aaaa"; [FechaDePedido])

Usa la función ParcFecha para mostrar el año de cuatro dígitos correspondiente al valor del control FechaDePedido.

=AgregFecha("a"; -10; [FechaDeCompromiso])

Usa la función AgregFecha para mostrar la fecha correspondiente a 10 días antes del valor del control FechaDeCompromiso.

=DifFecha("d"; [FechaDePedido]; [FechaDeEnvío])

Usa la función DifFecha para mostrar la diferencia en número de días entre los valores de los controles FechaDePedido y FechaDeEnvío.

=[FechaDeFactura] + 30

Usa operaciones aritméticas en fechas para calcular la fecha 30 días después de la fecha que en el campo o control FechaDeFactura.

Expresiones condicionales que devuelven uno de dos valores posibles

En las expresiones de ejemplo de la tabla siguiente se usa la función SiInm para devolver uno de dos valores posibles. Se pasan tres argumentos a la función SiInm: El primer argumento es una expresión que tiene que devolver un valor Verdadero o Falso. El segundo argumento es el valor que se devuelve si la expresión es verdadera y el tercer argumento es el valor devuelto si la expresión es falsa.

Expresión

Descripción

=SiInm([Confirmado] = "Sí"; "Pedido confirmado"; "Pedido sin confirmar")

Usa la función SiInm (Si inmediato) para mostrar el mensaje "Pedido confirmado" si el valor del control Confirmado es ; en caso contrario, se muestra el mensaje "Pedido sin confirmar".

=SiInm(EsNulo([País o región]); " "; [País])

Usa las funciones SiInm y EsNulo para mostrar una cadena vacía si el valor del control País o región es nulo; en caso contrario, se muestra el valor del control País o región.

=SiInm(EsNulo([Región]); [Ciudad] & " " & [CódigoPostal]; [Ciudad] & " " & [Región] & " " & [CódigoPostal])

Usa las funciones SiInm y EsNulo para mostrar los valores de los controles Ciudad y CódigoPostal si el valor del control Región es nulo; en caso contrario, se muestran los valores de los campos o controles Ciudad, Región y CódigoPostal.

=SiInm(EsNulo([FechaObligatoria]) O EsNulo([FechaDeEnvío]); "Comprobar si falta una fecha"; [FechaObligatoria] - [FechaDeEnvío])

Usa las funciones SiInm y EsNulo para que se muestre el mensaje "Comprobar si falta una fecha" si el resultado de restar FechaDeEnvío de FechaObligatoria es nulo; en caso contrario, se muestra el intervalo entre los valores de fecha de los controles denominados FechaObligatoria y FechaDeEnvío.

Principio de página

Ejemplos de expresiones usadas en consultas y filtros

Esta sección contiene ejemplos de expresiones que puede usar para crear un campo calculado en una consulta, o bien para proporcionar criterios para una consulta. Un campo calculado es una columna en una consulta que es el resultado de una expresión. Por ejemplo, puede calcular un valor, combinar valores de texto (como nombres y apellidos) o dar formato a la parte de una fecha.

Puede usar criterios en una consulta para limitar los registros con los que trabaja. Por ejemplo, puede usar el operador Entre para proporcionar una fecha de inicio y finalización para limitar los resultados de la consulta a los pedidos que se enviaron entre esas fechas.

En las secciones siguientes se explica cómo agregar un campo calculado a una consulta y se incluyen ejemplos de expresiones que se pueden usar en las consultas.

Agregar un campo calculado en la vista Diseño de la consulta

  1. En el panel de navegación, haga clic con el botón secundario en la consulta que desea cambiar y haga clic en Vista Diseño en el menú contextual.

  2. Haga clic en la celda Campo de la columna donde quiera crear el campo calculado. Puede escribir el nombre del campo seguido de un signo de dos puntos, o bien puede escribir su expresión. Si no escribe un nombre, Access agregará Exprn:, donde n es un número secuencial.

  3. Escriba una expresión.

    o bien

    En el grupo Configuración de consultas de la pestaña Diseño, haga clic en Generador para iniciar el Generador de expresiones.

    Para obtener más información sobre el uso del Generador de expresiones, vea el artículo Crear una expresión.

Expresiones que manipulan texto en una consulta o filtro

En las expresiones de la tabla siguiente se usan los operadores & y + para combinar cadenas de texto, usar funciones integradas para manipular una cadena de texto, o bien realizar otra operación con texto para crear un campo calculado.

Expresión

Descripción

NombreCompleto: [Nombre] & " " & [Apellidos]

Crea un campo llamado NombreCompleto donde se muestran los valores de los campos Nombre y Apellidos, separados por un espacio.

Dirección2: [Ciudad] & " " & [Región] & " " & [CódigoPostal]

Crea un campo llamado Dirección2 donde se muestran los valores de los campos Ciudad, Región y CódigoPostal, separados por espacios.

InicialDeProducto:Izq([NombreDeProducto]; 1)

Crea un campo llamado InicialDeProducto y, después, usa la función Izq para mostrar en el campo InicialProducto el primer carácter del valor del campo NombreDeProducto.

CódigoDeTipo: Der([CódigoDeActivo]; 2)

Crea un campo llamado CódigoDeTipo y, después, usa la función Der para mostrar los dos últimos caracteres de los valores del campo CódigoDeActivo.

CódigoDeÁrea: Medio([Teléfono];2;3)

Crea un campo llamado CódigoDeÁrea y, después, usa la función Medio para mostrar los tres caracteres a partir del segundo carácter del valor del campo Teléfono.

Expresiones que realizan operaciones aritméticas en campos calculados

Puede usar expresiones para sumar, restar, multiplicar y dividir los valores en dos o más campos o controles. También puede realizar operaciones aritméticas en fechas. Por ejemplo, imagine que tiene un campo de fecha y hora llamado FechaObligatoria. La expresión =[FechaObligatoria] - 2 devuelve un valor de fecha y hora igual a dos días antes del valor del campo FechaObligatoria.

Expresión

Descripción

PrimaTransporte: [Transporte] * 1,1

Crea un campo llamado PrimaTransporte y, después, muestra los gastos de transporte más un 10 % en el campo.

ImporteDePedido: [Cantidad] * [PrecioUnidad]

Crea un campo llamado ImporteDePedido y, después, muestra el producto de los valores en los campos Cantidad y PrecioUnidad.

TiempoDeEspera: [FechaObligatoria] - [FechaDeEnvío]

Crea un campo llamado TiempoDeEspera y, después, muestra la diferencia entre los valores de los campos FechaObligatoria y FechaDeEnvío.

TotalDeExistencias: [UnidadesEnExistencias]+[UnidadesEnPedido]

Crea un campo llamado TotalDeExistencias y, después, muestra la suma de los valores en los campos UnidadesEnExistencias y UnidadesEnPedido.

PorcentajeDeTransporte: Suma([Transporte])/Suma([Subtotal]) *100

Crea un campo llamado PorcentajeDeTransporte y, después, muestra el porcentaje de los gastos de transporte en cada subtotal. Esta expresión usa la función Suma para obtener el total de los valores en el campo Transporte y, después, divide esos totales por la suma de los valores en el campo Subtotal.

Para usar esta expresión es necesario convertir la consulta de selección en una consulta de totales, ya que tiene que usar la fila Total en la cuadrícula de diseño y establecer la celda Total de ese campo en Expresión.

Para obtener más información sobre cómo crear una consulta de totales, vea el artículo Sumar datos con una consulta.

Si establece la propiedad Formato del campo en Porcentaje, no incluya *100.

Para obtener más información sobre cómo usar las funciones de agregado y calcular el total de los valores de campos y columnas, vea los artículos Sumar datos con una consulta, Contar datos con una consulta, Contar las filas de una hoja de datos y Mostrar totales de columna en una hoja de datos.

Expresiones que manipulan fechas y realizan cálculos con fechas en campos calculados

Casi todas las bases de datos almacenan y realizan un seguimiento de valores de fecha y hora. Para trabajar con valores de fecha y hora en Access, configure los campos de fecha y hora de las tablas en el tipo de datos Fecha y hora. Access puede realizar cálculos aritméticos en fechas (por ejemplo, puede calcular cuántos días han transcurrido desde la fecha de la factura para calcular el vencimiento de una cuenta por cobrar).

Expresión

Descripción

TiempoDeRetraso: DifFecha("d"; [FechaDePedido]; [FechaDeEnvío])

Crea un campo llamado TiempoDeRetraso y, después, usa la función DifFecha para mostrar el número de días entre la fecha de pedido y la fecha de envío.

AñoDeContratación: ParcFecha("aaaa";[FechaDeContratación])

Crea un campo llamado AñoDeContratación y, después, usa la función ParcFecha para mostrar el año en que se contrató a cada empleado.

MenosTreinta: Fecha( )- 30

Crea un campo llamado MenosTreinta y, después, usa la función Fecha para mostrar la fecha 30 días anterior a la fecha actual.

Expresiones que cuentan, suman y calculan la media de valores con funciones de agregado SQL o funciones de agregado de dominio

En las expresiones de la tabla siguiente se usan funciones SQL (lenguaje de consulta estructurado) que agregan o resumen datos. Con frecuencia puede ver estas funciones (por ejemplo, Suma, Cuenta y Prom) denominadas funciones de agregado.

Además de las funciones de agregado, Access también proporciona funciones de agregado de "dominio", que se usan para sumar o contar valores de forma selectiva. Por ejemplo, puede contar solo los valores de un rango específico o buscar un valor de otra tabla. En el conjunto de funciones de agregado de dominio se incluyen la función DSuma, la función DCont y la función DProm.

Para calcular los totales, con frecuencia se necesita crear una consulta de totales. Por ejemplo, para resumir por grupo es necesario usar una consulta de totales. Para habilitar una consulta de totales desde la cuadrícula de diseño de consulta, haga clic en Totales en el menú Vista.

Expresión

Descripción

NúmeroDeFilas:Cuenta(*)

Crea un campo llamado NúmeroDeFilas y, después, usa la función Cuenta para contar el número de registros de la consulta, incluidos los registros con campos nulos (en blanco).

PorcentajeDeTransporte: Suma([Transporte])/Suma([Subtotal]) *100

Crea un campo llamado PorcentajeDeTransporte y, después, calcula el porcentaje de los gastos de transporte en cada subtotal al dividir la suma de valores del campo Transporte y la suma de los valores del campo Subtotal (en este ejemplo se usa la función Suma).

Nota: Es necesario usar esta expresión con una consulta de totales. Si establece la propiedad Formato del campo en Porcentaje, no incluya *100.

Para obtener más información sobre cómo crear una consulta de totales, vea el artículo Sumar datos con una consulta.

PromedioDeTransporte: DProm("[Transporte]", "[Pedidos]")

Crea un campo llamado PromedioDeTransporte y, después, usa la función DProm para calcular la media de los gastos de transporte de todos los pedidos combinados en una consulta de totales.

Expresiones para trabajar con campos con información que falta (campos con valores nulos)

Las expresiones que se muestran aquí funcionan con campos en los que es posible que falte información, como campos que contengan valores nulos (desconocidos o sin definir). Con frecuencia se encontrará con valores nulos, como un precio desconocido de un nuevo producto o un valor que un compañero de trabajo se olvidó de agregar a un pedido. La capacidad para identificar y procesar valores nulos puede ser una parte esencial de las operaciones de bases de datos y en las expresiones de la tabla siguiente se demuestran algunas formas comunes de trabajar con valores nulos.

Expresión

Descripción

PaísRegiónActual:SiInm(EsNulo([PaísRegión]); " "; [PaísRegión])

Crea un campo llamado PaísRegiónActual y, después, usa las funciones SiInm y EsNulo para que se muestre una cadena vacía en ese campo si el campo PaísRegión contiene un valor nulo; en caso contrario, se muestra el contenido del campo PaísRegión.

TiempoDeEspera: SiInm(EsNulo([FechaObligatoria] - [FechaDeEnvío]); "Comprobar si falta una fecha"; [FechaObligatoria] - [FechaDeEnvío])

Crea un campo llamado TiempoDeEspera y, después, usa las funciones SiInm y EsNulo para que se muestre el mensaje "Comprobar si falta una fecha" si el valor del campo FechaObligatoria o FechaDeEnvío es nulo; en caso contrario, se muestra la diferencia entre las fechas.

VentasSemestrales: Nz([VentasPrimerTrimestre]) + Nz([VentasSegundoTrimestre])

Crea un campo llamado VentasSemestrales y, después, muestra el total de los valores de los campos VentasPrimerTrimestre y VentasSegundoTrimestre (primero se usa la función Nz para convertir los valores nulos en cero).

Expresión que usa una subconsulta para crear un campo calculado

Puede usar una consulta anidada, también denominada una subconsulta, para crear un campo calculado. La expresión en la tabla siguiente es un ejemplo de un campo calculado que es el resultado de una subconsulta.

Expresión

Descripción

Cat: (SELECT [NombreDeCategoría] FROM [Categories] WHERE [Productos].[IdDeCategoría]=[Categorías].[IdDeCategoría])

Crea un campo llamado Cat y, después, muestra el NombreDeCategoría si el IdDeCategoría de la tabla Categorías es el mismo que el IdDeCategoría de la tabla Productos.

Expresiones que definen criterios y limitan los registros del conjunto de resultados

Puede usar una expresión para definir los criterios de una consulta. Después, Access solo devuelve las filas que coinciden con los criterios. En los pasos de esta sección se proporciona información básica sobre cómo agregar criterios a una consulta y en las tablas de esta sección se proporcionan ejemplos de los criterios de valores de texto y fecha coincidentes.

Agregar criterios a una consulta

  1. En el panel de navegación, haga clic con el botón derecho en la consulta que quiera cambiar y, en el menú contextual, seleccione Vista Diseño Imagen de botón .

  2. En la fila Criterios de la cuadrícula de diseño, haga clic en la celda de la columna que quiera usar y, después, escriba los criterios.

    Si quiere usar un área más grande donde escribir una expresión, presione MAYÚS+F2 para mostrar el cuadro Zoom.

    o bien

    En el grupo Configuración de consultas de la pestaña Diseño, haga clic en Generador Imagen del botón para iniciar el Generador de expresiones y cree una expresión.

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

Para obtener más información sobre el uso del Generador de expresiones, vea el artículo Crear una expresión.

Expresiones que coinciden con valores de texto completos o parciales

En las expresiones de ejemplo de esta tabla se muestran criterios que coinciden con valores de texto completos o parciales.

Campo

Expresión

Descripción

CiudadDeEnvío

"Londres"

Muestra pedidos enviados a Londres.

CiudadDeEnvío

"Londres" O "Hedge End"

Usa el operador O para mostrar los pedidos enviados a Londres o a Hedge End.

PaísRegiónDeEnvío

En("Canadá"; "Reino Unido")

Usa el operador En para mostrar los pedidos enviados a Canadá o a Reino Unido.

PaísRegiónDeEnvío

No "EE. UU."

Usa el operador No para mostrar los pedidos enviados a países o regiones distintos de EE. UU.

NombreDeProducto

No como "C*"

Usa el operador No y el carácter comodín * para mostrar los productos cuyo nombre no empiece por C.

NombreDeCompañía

>="N"

Muestra pedidos enviados a compañías cuyos nombres empiezan con las letras de la N a la Z.

CódigoDeProducto

Der([CódigoDeProducto]; 2)="99"

Usa la función Der para mostrar los pedidos cuyo valor de CódigoDeProducto acabe en 99.

NombreDeEnvío

Como "S*"

Muestra pedidos enviados a clientes cuyos nombres empiezan con la letra S.

Expresiones que usan fechas en criterios coincidentes

En las expresiones de la tabla siguiente se muestra el uso de fechas y funciones relacionadas en expresiones de criterios.

Para obtener más información sobre cómo escribir y usar valores de fecha, vea el artículo Escribir un valor de fecha u hora. Para obtener información sobre cómo usar las funciones en estas expresiones de ejemplo, haga clic en los vínculos a los temas sobre las diferentes funciones.

Campo

Expresión

Descripción

FechaDeEnvío

#02/02/2007#

Muestra pedidos enviados el 2 de febrero de 2007.

FechaDeEnvío

Fecha()

Muestra los pedidos enviados hoy.

FechaObligatoria

Entre Fecha( ) Y AgregFecha("m"; 3; Fecha( ))

Usa el operador Entre...Y con las funciones AgregFecha y Fecha para mostrar los pedidos solicitados entre la fecha actual y tres meses a partir de la fecha actual.

FechaDePedido

< Fecha( ) - 30

Usar la función Fecha para mostrar los pedidos creados hace más de 30 días.

FechaDePedido

Año([FechaDePedido])=2007

Usa la función Año para mostrar los pedidos cuya fecha sea de 2007.

FechaDePedido

ParcFecha("t"; [FechaDePedido])=4

Usa la función ParcFecha para mostrar los pedidos correspondientes al cuarto trimestre.

FechaDePedido

SerieFecha(Año ([FechaDePedido]); Mes([FechaPedido])+1; 1)-1

Usa las funciones SerieFecha, Año y Mes para mostrar los pedidos correspondientes al último día de cada mes.

FechaDePedido

Año([FechaDePedido])= Año(Ahora()) Y Mes([FechaPedido])= Mes(Ahora())

Usa las funciones Año y Mes con el operador Y para mostrar los pedidos del año y mes actuales.

FechaDeEnvío

Entre #05/01/2007# Y #10/1/2007#

Usa el operador Entre...Y para mostrar los pedidos enviados después del 5 de enero de 2007 y antes del 10 de enero de 2007.

FechaObligatoria

Entre Fecha( ) Y AgregFecha("M"; -3; Fecha( ))

Usa el operador Entre...Y para mostrar los pedidos solicitados entre la fecha actual y tres meses a partir de la fecha actual.

FechaDeNacimiento

Mes([FechaDeNacimiento])=Mes(Fecha())

Usa las funciones Mes y Fecha para mostrar a los empleados cuyo cumpleaños se celebre el mes actual.

Expresiones que coinciden con un valor que falta (nulo) o una cadena de longitud cero

Las expresiones de la tabla siguiente funcionan con campos en los que es posible que falte información (campos que pueden contener un valor nulo o una cadena de longitud cero). Un valor nulo representa la ausencia de información, no representa un cero o ningún valor específico. Access admite esta idea de información que falta, ya que el concepto es esencial para la integridad de una base de datos. En el mundo real, con frecuencia hay información que falta, incluso aunque solo sea de forma temporal (por ejemplo, el precio todavía sin determinar de un nuevo producto). Por lo tanto, una base de datos que modela una entidad del mundo real, como una empresa, tiene que ser capaz de registrar información que falta. Puede usar la función EsNulo para determinar si un campo o control contiene un valor nulo y puede usar la función Nz para convertir un valor nulo en cero.

Campo

Expresión

Descripción

RegiónDeEnvío

Is Null

Muestra pedidos de los clientes cuyo campo RegiónDeEnvío es nulo (falta).

RegiónDeEnvío

Is Not Null

Muestra pedidos de los clientes en los que el campo RegiónDeEnvío contiene un valor.

Fax

""

Muestra pedidos para clientes que no tienen una máquina de fax, indicado por un valor de cadena de longitud cero en el campo Fax, en lugar de un valor nulo (que falta).

Expresiones que usan patrones para hacer coincidir registros

El operador Como proporciona una amplia flexibilidad al intentar coincidir filas que siguen un patrón, ya que se puede usar Como con caracteres comodín y definir patrones de coincidencia en Access. Por ejemplo, el carácter comodín * (asterisco) busca una secuencia de caracteres de cualquier tipo, por lo que resulta fácil encontrar todos los nombres que empiezan con una letra. Por ejemplo, puede usar la expresión Como "S*" para buscar todos los nombres que empiezan con la letra S.

Para obtener más información, vea el artículo Operador Como (Like).

Campo

Expresión

Descripción

NombreDeEnvío

Como "S*"

Encuentra todos los registros en el campo NombreDeEnvío que empiezan con la letra S.

NombreDeEnvío

Como "*Importaciones"

Encuentra todos los registros en el campo NombreDeEnvío que terminan con la palabra "Importaciones".

NombreDeEnvío

Como "[A-D]*"

Encuentra todos los registros en el campo NombreDeEnvío que empiezan con las letras A, B, C o D.

NombreDeEnvío

Como "*ar*"

Encuentra todos los registros en el campo NombreDeEnvío en los que se incluye la secuencia de letras "ar".

NombreDeEnvío

Como "Casa Dewe?"

Encuentra todos los registros en el campo NombreDeEnvío donde se incluye "Casa" en la primera parte del valor y una cadena de cinco letras donde las primeras cuatro letras son "Dewe" y la última letra se desconoce.

NombreDeEnvío

No como "A*"

Encuentra todos los registros en el campo NombreDeEnvío que no empiezan con la letra A.

Expresiones que coinciden con filas basadas en el resultado de una función de agregado de dominio

Puede usar una función de agregado de dominio si necesita sumar, contar o generar una media de valores de forma selectiva. Por ejemplo, puede que quiera contar solo dos valores de un intervalo determinado, o bien un valor que da como resultado Sí. En otras ocasiones, es posible que necesite buscar un valor de otra tabla para mostrarlo. En las expresiones de ejemplo de la tabla siguiente se usan las funciones de agregado de dominio para realizar un cálculo en un conjunto de valores y se usa el resultado como los criterios de consulta.

Campo

Expresión

Descripción

Transporte

> (DDesvEst("[Transporte]"; "Pedidos") + DProm("[Transporte]"; "Pedidos"))

Usa las funciones DDesvEst y DProm para mostrar todos los pedidos cuyos gastos de transporte sean superiores a la media más la desviación estándar de los gastos de transporte.

Cantidad

> DProm("[Cantidad]", "[Detalles del pedido]")

Usa la función DProm para mostrar los productos ordenados por cantidades que son superiores a la media de las cantidades de pedido.

Expresiones que coinciden según los resultados de subconsultas

Las subconsultas (también denominadas consultas anidadas) se usan para calcular un valor y usarlo como un criterio. Las expresiones de ejemplo de la tabla siguiente coinciden con filas según los resultados devueltos por una subconsulta.

Campo

Expresión

Muestra

PrecioUnidad

(SELECT [PrecioUnidad] FROM [Productos] WHERE [NombreDeProducto] = "Sirope de anís")

Productos cuyo precio es el mismo que el precio del sirope de anís.

PrecioUnidad

>(SELECT Prom([PrecioUnidad]) FROM [Productos])

Productos que tienen un precio unitario superior a la media.

Salario

> ALL (SELECT [Salario] FROM [Empleados] WHERE ([Puesto] LIKE "*Gerente*") OR ([Puesto] LIKE "*Vicepresidente*"))

El salario de todos los representantes de ventas que es superior al de todos los empleados con el puesto "Gerente" o "Vicepresidente".

TotalDelPedido: [PrecioUnidad] * [Cantidad]

> (SELECT Prom([PrecioUnidad] * [Cantidad]) FROM [Detalles del pedido])

Pedidos cuyo total sea superior al valor medio del pedido.

Expresiones que se pueden usar en consultas de actualización

Use una consulta de actualización para modificar los datos de uno o más campos existentes en una base de datos. Por ejemplo, puede sustituir valores o eliminarlos por completo. En esta tabla se demuestran algunas formas de usar expresiones en consultas de actualización. Use estas expresiones en la fila Actualizar en de la cuadrícula de diseño de consulta para el campo que quiera actualizar.

Para obtener más información sobre cómo crear consultas de actualización, vea el artículo Crear una consulta de actualización.

Campo

Expresión

Resultado

Título

"Comercial"

Cambia un valor de texto a Comercial.

InicioDeProyecto

#10/08/07#

Cambia un valor de fecha a 10 de agosto de 2007.

Retirado

Cambia un valor de No en un campo Sí/No a Sí.

NúmeroPieza

"NP" & [NúmeroPieza]

Agrega "NP" al principio de cada número de pieza especificado.

TotalDeArtículoDeLínea

[PrecioUnidad] * [Cantidad]

Calcula el producto de PrecioUnidad y Cantidad.

Transporte

[Transporte] * 1,5

Aumenta los gastos de transporte en un 50 %.

Ventas

DSuma("[Cantidad] * [PrecioUnidad]",
"Detalles del pedido"; "[IdDeProducto]=" & [IdDeProducto])

Donde los valores de IdDeProducto de la tabla actual coinciden con los valores de IdDeProducto en la tabla Detalles del pedido, se actualizan los totales de ventas según el producto de Cantidad y PrecioUnidad.

CódigoPostalDeEnvío

Der([CódigoPostalDeEnvío]; 5)

Trunca los caracteres del extremo izquierdo, dejando los cinco caracteres del extremo derecho.

PrecioUnidad

Nz([PrecioUnidad])

Cambia un valor nulo (sin definir o desconocido) a un cero (0) en el campo PrecioUnidad.

Expresiones usadas en instrucciones SQL

El lenguaje de consulta estructurado o SQL es el lenguaje de consulta que se usa en Access. Todas las consultas que cree en la vista Diseño de la consulta también se pueden expresar con SQL. Para ver la instrucción SQL de una consulta, haga clic en Vista SQL en el menú Vista. En la tabla siguiente se muestran ejemplos de instrucciones SQL en las que se usa una expresión.

Instrucción SQL que usa una expresión

Resultado

SELECT [Nombre],[Apellidos] FROM [Empleados] WHERE [Apellidos]="Fontiveros"

Muestra los valores de los campos Nombre y Apellidos de los empleados cuyo apellido sea Fontiveros.

SELECT [IdDeProducto],[NombreDeProducto] FROM [Productos] WHERE [IdDeCategoría]=Formularios![Nuevos productos]![IdDeCategoría];

Muestra los valores de los campos IdDeProducto y NombreDeProducto en la tabla Productos de los registros donde el valor de IdDeCategoría coincide con el valor de IdDeCategoría especificado en un formulario abierto llamado Nuevos productos.

SELECT Prom([PrecioTotal]) AS [Media de precio total] FROM [Detalles ampliados del pedido] WHERE [PrecioTotal]>1000;

Calcula el precio total medio de los pedidos en los que el valor del campo PrecioTotal es mayor que 1000 y lo muestra en un campo llamado Media de precio total.

SELECT [IdDeCategoría]; Cuenta([IdDeProducto]) AS [NúmeroDeIdDeProducto] FROM [Productos] GROUP BY [IdDeCategoría] HAVING Cuenta([IdDeProducto])>10;

En un campo llamado NúmeroDeIdDeProducto, muestra el número total de productos para las categorías con más de 10 productos.

Principio de página

Ejemplos de expresiones de valor predeterminado

Al diseñar una base de datos, es posible que quiera asignar un valor predeterminado a un campo o control. Después, Access proporciona el valor predeterminado cuando se crea un registro que contiene el campo, o bien cuando se crea un objeto que contiene el control. Las expresiones de la tabla siguiente representan los valores predeterminados de ejemplo de un campo o control.

Agregar un valor predeterminado a un campo en una tabla

  1. En el panel de navegación, haga clic con el botón secundario en la tabla que desee cambiar y haga clic en Vista Diseño en el menú contextual.

  2. Haga clic en el campo que quiera cambiar y, en la pestaña General, haga clic en el cuadro de la propiedad Valor predeterminado.

  3. Escriba la expresión o haga clic en el botón Generar Botón Generador en la parte derecha del cuadro de propiedades para crear una expresión con el Generador de expresiones.

Si un control está enlazado a un campo en una tabla y ese campo tiene un valor predeterminado, tendrá prioridad el valor predeterminado del control.

Campo

Expresión

Valor de campo predeterminado

Cantidad

1

1

Región

"MT"

MT

Región

"Nueva York, Nueva York"

Nueva York, Nueva York (tenga en cuenta que es necesario delimitar el valor entre comillas si se incluye puntuación).

Fax

""

Una cadena de longitud cero para indicar que, de forma predeterminada, este campo tiene que estar vacío, en lugar de contener un valor nulo.

Fecha de pedido

Fecha( )

Fecha actual

FechaDeVencimiento

Fecha() + 60

La fecha 60 días después de la fecha actual.

Principio de página

Ejemplos de expresiones de regla de validación de campo

Puede crear una regla de validación para un campo o control con una expresión. Después, Access comprueba la regla cuando se escriben datos en el campo o control. Para crear una regla de validación, modifique la propiedad ReglaDeValidación del campo o control. También puede configurar la propiedad TextoDeValidación, que contiene el texto que muestra Access cuando no se cumple la regla de validación. Si no establece la propiedad TextoDeValidación, Access mostrará un mensaje de error predeterminado.

Agregar una regla de validación a un campo

  1. En el panel de navegación, haga clic con el botón secundario en la tabla que desee cambiar y haga clic en Vista Diseño en el menú contextual.

  2. Haga clic en el campo que quiera cambiar.

  3. Haga clic en el cuadro de la propiedad Regla de validación que se encuentra en la sección inferior del diseñador de tablas.

  4. Escriba la expresión o haga clic en el botón Generar Botón Generador en la parte derecha del cuadro de propiedades para crear una expresión con el Generador de expresiones.

    Nota: No coloque el operador = delante de la expresión al crear una regla de validación.

En los ejemplos de la tabla siguiente se muestran las expresiones de regla de validación para la propiedad ReglaDeValidación y el texto asociado de la propiedad TextoDeValidación.

Propiedad ReglaDeValidación

Propiedad TextoDeValidación

<> 0

Escriba un valor distinto de cero.

0 o > 100

El valor tiene que ser 0 o superior a 100.

Como "K???"

El valor tiene que tener cuatro caracteres y empezar con la letra K.

< #01/01/2007#

Escriba una fecha anterior a 01/01/2007.

>= #01/01/2007# Y < #01/01/2008#

La fecha debe ser del año 2007.

Para obtener más información sobre la validación de datos, vea el artículo Crear una regla de validación para validar los datos de un campo.

Principio de página

Ejemplos de expresiones de condiciones de macro

En algunos casos, es posible que quiera realizar una acción o una serie de acciones en una macro solo si una condición específica es verdadera. Por ejemplo, imagine que quiere que una acción solo se ejecute cuando el valor del cuadro de texto Contador sea igual a 10. Puede usar una expresión para definir la condición en la columna Condición de la macro: [Contador]=10.

Agregar una condición para una acción de macro

  1. En el panel de navegación, haga clic con el botón derecho en la macro que quiera cambiar y, después, haga clic en Vista Diseño en el menú contextual.

  2. Si no ve la columna Condición en el diseñador de macros, en el grupo Mostrar u ocultar de la pestaña Diseño, haga clic en Condiciones.

  3. Haga clic en la celda Condición de la acción de macro que quiera cambiar y, después, escriba la expresión condicional.

  4. Guarde los cambios y cierre la macro.

Al igual que con la propiedad ReglaDeValidación, la expresión de la columna Condición es una expresión condicional. Tiene que dar como resultado un valor Verdadero o Falso. La acción solo se ejecuta cuando la condición es verdadera.

Use esta expresión para realizar la acción

SI

[Ciudad]="París"

París es el valor de Ciudad en el campo del formulario desde el que se ejecutó la macro.

DCont("[IdDePedido]"; "Pedidos") > 35

Hay más de 35 entradas en el campo IdDePedido de la tabla Pedidos.

DCont("*"; "[Detalles del pedido]"; "[IdDePedido]=" & Formularios![Pedidos]![IdDePedido]) > 3

Hay más de tres entradas en la tabla Detalles del pedido para las que el campo IdDePedido de la tabla coincide con el campo IdDePedido del formulario Pedidos.

[FechaDeEnvío] Entre #2-feb-2007# Y #2-mar-2007#

El valor del campo FechaDeEnvío del formulario desde el que se ejecuta la macro no es anterior al 2-feb-2007 y no es posterior al 2-mar-2007.

Formularios![Productos]![UnidadesEnExistencias] < 5

El valor del campo UnidadesEnExistencias del formulario Productos es inferior a 5.

EsNulo([Nombre])

El valor de Nombre en el formulario desde donde se ejecuta la macro es nulo (no tiene ningún valor). Esta expresión equivale a [Nombre] es nulo.

[PaísRegión]="Reino Unido" Y Formularios![TotalesDeVentas]![TotalPedidos] > 100

El valor del campo PaísRegión del formulario desde el que se ejecuta la macro es Reino Unido y el valor del campo TotalPedidos del formulario TotalesDeVentas es mayor que 100.

[PaísRegión] en ("Francia"; "Italia"; "España") Y Longitud([CódigoPostal])<>5

El valor del campo PaísRegión del formulario desde el que se ejecuta la macro es Francia, Italia o España, y el código postal no tiene 5 caracteres de longitud.

CuadroMsj("¿Confirmar cambios?";1)=1

Haga clic en Aceptar en un cuadro de diálogo que se muestre con la función CuadroMsj. Si hace clic en Cancelar en el cuadro de diálogo, Access omitirá la acción.

Nota: Para obligar a que Access omita de forma temporal una acción, escriba Falso como una condición. Obligar a que Access omita de forma temporal una acción puede ser útil al intentar identificar problemas en una macro.

Principio de página

Compartir Facebook Facebook Twitter Twitter Enviar por correo electrónico Enviar por correo electrónico

¿Le ha sido útil esta información?

De acuerdo. ¿Algún comentario más?

¿Cómo podemos mejorarlo?

¡Gracias por sus comentarios!

×