generación de expresiones en access

34
Ejemplos de expresiones Este artículo incluye ejemplos de expresiones. Una expresión es la combinación de operadores matemáticos o lógicos, constantes, funciones, campos de tabla, controles y propiedades que devuelve un solo valor. Las expresiones se pueden usar para calcular valores, validar datos y definir un valor predeterminado para un campo o control. Nota Si bien en este artículo se describen los pasos básicos para crear expresiones, no es una guía exhaustiva del uso de las herramientas que proporciona Microsoft Office Access 2007 para crear expresiones. Para obtener más información sobre la creación de expresiones, vea el artículo Crear una expresión. Información sobre las expresiones En Office Access 2007, el término expresión es sinónimo de fórmula. Una expresión se compone de varios elementos posibles que se pueden usar, solos o en combinación, para obtener un resultado. Esos elementos son: Identificadores: los nombres de campos de tabla o de controles en formularios o informes, o bien, las propiedades de esos campos o controles Operadores, como + (más) o - (menos) Funciones, como SUMA o PROMEDIO Constantes: valores que no cambian, como cadenas de texto o números no calculados por una expresión Las expresiones se pueden usar de varias maneras, entre otras para: realizar un cálculo, recuperar el valor de un control o proporcionar criterios a una consulta. Para obtener más información sobre cómo y dónde se usan las expresiones, vea el artículo Crear una expresión. Ejemplos de expresiones que se usan en formularios e informes Las tablas que figuran en esta sección incluyen ejemplos de expresiones que calculan un valor en un control ubicado en un formulario o informe. Para crear un control calculado, se escribe una expresión en la propiedad Origen del control del control en vez de escribirla en un campo de tabla o consulta. En los siguientes pasos se explica cómo escribir una expresión en un control de cuadro de texto ubicado en un formulario o informe existente. Crear un control calculado En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en el formulario o informe que desee cambiar y, a continuación, haga clic en Vista Diseño en el menú contextual. En el formulario o informe, haga clic con el botón secundario del mouse en el control de cuadro de texto que desee cambiar (y no en la etiqueta asociada al cuadro de texto) y, a continuación, haga clic en Propiedades en el menú contextual. Si es necesario, haga clic en la ficha Todas o la ficha Datos. En ambas fichas figura la propiedad Origen del control.

Upload: alfredo-jimenez

Post on 08-Feb-2016

281 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Generación de expresiones en ACCESS

Ejemplos de expresiones

Este artículo incluye ejemplos de expresiones. Una expresión es la combinación de operadores matemáticos o lógicos, constantes, funciones, campos de tabla, controles y propiedades que devuelve un solo valor. Las expresiones se pueden usar para calcular valores, validar datos y definir un valor predeterminado para un campo o control.

Nota Si bien en este artículo se describen los pasos básicos para crear expresiones, no es una guía exhaustiva del uso de las herramientas que proporciona Microsoft Office Access 2007 para crear expresiones. Para obtener más información sobre la creación de expresiones, vea el artículo Crear una expresión.

Información sobre las expresiones

En Office Access 2007, el término expresión es sinónimo de fórmula. Una expresión se compone de varios elementos posibles que se pueden usar, solos o en combinación, para obtener un resultado. Esos elementos son:

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

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

Funciones, como SUMA o PROMEDIO

Constantes: valores que no cambian, como cadenas de texto o números no calculados por una expresión

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

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

Ejemplos de expresiones que se usan en formularios e informes

Las tablas que figuran en esta sección incluyen ejemplos de expresiones que calculan un valor en un control ubicado en un formulario o informe. Para crear un control calculado, se escribe una expresión en la propiedad Origen del control del control en vez de escribirla en un campo de tabla o consulta.

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

Crear un control calculado

En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en el formulario o informe que desee cambiar y, a continuación, haga clic en Vista Diseño en el menú contextual.

En el formulario o informe, haga clic con el botón secundario del mouse en el control de cuadro de texto que desee cambiar (y no en la etiqueta asociada al cuadro de texto) y, a continuación, haga clic en Propiedades en el menú contextual.

Si es necesario, haga clic en la ficha Todas o la ficha Datos. En ambas fichas figura la propiedad Origen del control.

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

Cierre la hoja de propiedades.

Expresiones que combinan o manipulan texto

Page 2: Generación de expresiones en ACCESS

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

Page 3: Generación de expresiones en ACCESS

Expresión Resultado

="N/A" Muestra N/A.

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

=Izq([Nombre de producto], 1) Usa la función Izq para mostrar el primer carácter del valor de un campo o control denominado Nombre de producto.

=Der([Código de activo], 2) Usa la función Der para mostrar los dos últimos caracteres del valor de un campo o control denominado Código de activo.

=Recortar([Dirección]) Usa la función Recortar para mostrar el valor del control Dirección sin espacios iniciales o finales.

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

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

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

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

La propagación de valores nulos significa que si algún componente de una expresión es nulo, toda la expresión será nula. El operador + admite la propagación de valores nulos; el operador & no la admite.

Expresiones en encabezados y pies

Se usan las propiedades Página y Páginas para mostrar o imprimir números de página en los formularios o informes. Las propiedades Página y Páginas están únicamente disponibles durante la impresión o en la vista preliminar. No aparecen en la hoja de propiedades de los formularios o informes. Estas propiedades suelen usarse colocando un cuadro de texto en la sección de encabezado o pie del formulario o informe y usando una expresión como las que se muestran en la siguiente tabla.

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

Expresión Resultado de ejemplo

=[Página] 1

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

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

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

=[Página] & "/" & [Páginas] & " Páginas" 1/3 Páginas

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

=Formato([Página], "000") 001

Page 4: Generación de expresiones en ACCESS

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

Expresiones que realizan operaciones aritméticas

Se pueden usar expresiones para restar, multiplicar y dividir los valores de dos o más campos o controles. Se pueden usar asimismo para realizar operaciones aritméticas con fechas. Por ejemplo, supongamos que tiene un campo de tabla de tipo Fecha/Hora denominado FechaRequerida. En el campo, o en un control enlazado al campo, la expresión =[FechaRequerida] - 2 devuelve un valor de fecha/hora igual a dos días antes de los actuales valores del campo FechaRequerida.

Expresión Resultado

=[Subtotal]+[Transporte] Suma de los valores de los campos o controles denominados Subtotal y Transporte.

=[FechaRequerida]-[FechaEnvío]

Intervalo entre los valores de fecha de los campos o controles denominados FechaRequerida y FechaEnvío.

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

=[Cantidad]*[Precio] Producto de los valores de los campos o controles denominados Cantidad y Precio.

=[TotalEmpleado]/[TotalPaísRegión]

Cociente de los valores de los campos o controles denominados TotalEmpleado y TotalPaísRegión.

Nota Cuando se usa un operador aritmético (+, -, * y /) en una expresión y el valor de uno de los controles en la expresión es nulo, el resultado de toda la expresión será nulo. Esto se conoce como la propagación de valores nulos. Si algún registro de uno de los controles que se usan en la expresión tiene un valor nulo, se puede evitar la propagación de valores nulos convirtiendo el valor nulo en cero mediante la función Nz; por ejemplo, =Nz([Subtotal])+Nz([Transporte]).

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

Expresiones que hacen referencia a valores de otros campos o controles

A veces se necesita un valor que existe en alguna otra parte, como un campo o control ubicado en otro formulario o informe. Se puede usar una expresión para que se devuelva el valor de otro campo o control.

La siguiente tabla contiene ejemplos de expresiones que se pueden usar en los controles calculados ubicados en formularios.

Expresión Resultado

=Formularios![Pedidos]![IdPedido] Valor del control IdPedido en el formulario Pedidos.

=Formularios![Pedidos]![Subformulario Pedidos].Formulario![SubtotalPedido]

Valor del control SubtotalPedido en el subformulario denominado Subformulario Pedidos del formulario Pedidos.

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

Valor de la tercera columna de IdProducto, un cuadro de lista de columnas múltiples en el subformulario denominado Subformulario Pedidos del formulario Pedidos. (Observe que 0 hace referencia a la primera columna, 1 a la segunda, y así sucesivamente).

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

Producto del valor del control Precio ubicado en el subformulario denominado Subformulario Pedidos del formulario Pedidos y 1,06 (suma el 6 por ciento al valor del control Precio).

=Parent![IdPedido] Valor del control IdPedido ubicado en el formulario principal del

Page 5: Generación de expresiones en ACCESS

actual subformulario.

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

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

Page 6: Generación de expresiones en ACCESS

Expresión Resultado

=Informe![Factura]![IdPedido] Valor del control denominado "IdPedido" en el informe denominado "Factura".

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

Calor del control denominado Total Ventas ubicado en el subinforme denominado Subinforme Resumen del informe denominado Resumen.

=Parent![IdPedido] Valor del control denominado IdPedido en el formulario principal del actual subinforme.

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

Se puede usar un tipo de función denominado función de agregado para calcular los valores de uno o varios campos o controles. Por ejemplo, se puede calcular un total de grupo para el pie de grupo de un informe, o bien, el subtotal de un pedido de artículos de línea en un formulario. Asimismo, se puede realizar un recuento de los elementos de uno o varios campos o calcular un promedio.

Las expresiones que figuran en la siguiente tabla muestran algunas de las formas de usar las funciones Promedio, Cuenta y Suma.

Expresión Descripción

=Promedio([Transporte]) Usa la función Promedio para mostrar el promedio de los valores de un campo de tabla o control denominado "Transporte".

=Cuenta([IdPedido]) Usa la función Cuenta para mostrar el número de registros en el control denominado IdPedido.

=Suma([Ventas]) Usa la función Suma para mostrar la suma de los valores del control denominado Ventas.

=Suma([Cantidad]*[Precio])

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

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

Muestra el porcentaje de ventas, determinado por la división del valor del control denominado Ventas entre la suma de todos los valores del control Ventas.

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

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

Expresiones que realizan un recuento, suman y buscan valores de manera selectiva mediante funciones de agregado de dominio

Se usa un tipo de función denominado función de agregado de dominio para realizar un recuento o sumar valores de manera selectiva. Un "dominio" se compone de uno o varios campos en una o varias tablas, o bien, de uno o varios controles ubicados en uno o varios formularios o informes. Por ejemplo, se pueden hacer coincidir los valores de un campo de tabla con los valores de un control ubicado en un formulario.

Expresión Descripción

=DBúsq("[Nombre de contacto]", "[Proveedores]", "[Id. de proveedor] = " & Formularios("Proveedores")("[Id. de proveedor]"))

Usa la función DBúsq para devolver el valor del campo Nombre de contacto de la tabla denominada Proveedores donde el valor del

Page 7: Generación de expresiones en ACCESS

campo Id. de proveedor de la tabla coincida con el valor del control Id. de proveedor ubicado en el formulario denominado Proveedores.

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

Usa la función DBúsq para devolver el valor del campo Nombre de contacto de la tabla denominada Proveedores donde el valor del campo Id. de proveedor de la tabla coincida con el valor del control Id. de proveedor ubicado en el formulario denominado Nuevos proveedores.

=DSuma("[Importe de pedido]", "[Pedidos]", "[Id. de cliente] = 'RATTC'")

Usa la función DSuma para devolver el total de los valores del campo Importe de pedido de la tabla denominada Pedidos donde el Id. de cliente sea RATTC.

=DCuenta("[Retirados]","[Activos]","[Retirados]=Sí") Usa la función DCuenta para devolver el número de valores Sí en el campo Retirados (campo de tipo Sí/No) de la tabla denominada Activos.

Expresiones que manipulan y calculan fechas

El registro de fechas y horas es una actividad fundamental de las bases de datos. Por ejemplo, se puede calcular cuántos días han transcurrido desde la fecha de factura para determinar la antigüedad de las cuentas por cobrar. Se puede aplicar formato a las fechas y horas de numerosas maneras, tal y como se muestra en la siguiente tabla.

Expresión Descripción

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

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

=ParcFecha("aaaa", [FechaPedido])

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

=AgregFecha("a", -10, [Fecha prometida])

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

=DifFecha("d", [FechaPedido], [FechaEnvío])

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

=[FechaFactura] + 30 Usa operaciones aritméticas con fechas para calcular la fecha correspondiente a 30 días después de la fecha del campo o control denominado FechaFactura.

Expresiones condicionales que devuelven uno de dos posibles valores

Las expresiones de ejemplo que figuran en la siguiente tabla usan la función SiInm para devolver uno de dos posibles valores. A la función SiInm se le pasan tres argumentos. El primer argumento es una expresión que tiene que devolver el valor True o False. El segundo argumento es el valor que se va a devolver si la expresión tiene el valor True y el tercer argumento es el valor que se va a devolver si la expresión es False.

Expresión Descripción

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

Usa la función SiInm para que se muestre el mensaje "Pedido confirmado" si el valor del control Confirmado es Sí; en caso

Page 8: Generación de expresiones en ACCESS

contrario, se muestra el mensaje "Pedido sin confirmar".

=SiInm(EsNulo([País o región]), " ", [País]) Usa las funciones SiInm y EsNulo para que se muestre una cadena vacía si el valor del control País o región es nulo; en caso contrario, se muestra el valor del control País o región.

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

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

=SiInm(EsNulo([FechaRequerida]) O EsNulo([FechaEnvío]), "Comprobar si falta una fecha", [FechaRequerida] - [FechaEnvío])

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

Ejemplos de expresiones que se usan en consultas y filtros

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

Se usan criterios en una consulta para limitar los registros con los que se trabaja. Por ejemplo, se puede usar el operador Entre para proporcionar una fecha inicial y una fecha final y limitar los resultados de la consulta a los pedidos enviados entre esas fechas.

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

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

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

Haga clic en la celda Campo de la columna en la que desee crear el campo calculado. Puede especificar un nombre para el campo seguido de dos puntos, o bien, puede escribir la expresión. Si no especifica un nombre, Access agrega Exprn:, donde n es un número secuencial.

Escriba la expresión.

O bien,

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

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

Expresiones que manipulan el texto de una consulta o un filtro

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

Expresión Descripción

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

Crea un campo denominado NombreCompleto que muestre los valores de los campos denominados Nombre y Apellidos, separados por un

Page 9: Generación de expresiones en ACCESS

espacio.

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

Crea un campo denominado Dirección2 que muestre los valores de los campos Ciudad, Región y Código postal, separados por espacios.

InicialProducto:Izq([Nombre de producto], 1)

Crea un campo denominado InicialProducto y, a continuación, usa la función Izq para mostrar en el campo denominado InicialProducto el primer carácter del valor del campo Nombre de producto.

CódigoTipo: Der([Código de activo], 2)

Crea un campo denominado CódigoTipo y, a continuación, usa la función Der para mostrar los dos últimos caracteres de los valores del campo Código de activo.

CódigoÁrea: Medio([Teléfono],2,3) Crea un campo denominado CódigoÁrea y, a continuación, usa la función Medio para mostrar los tres caracteres a partir del segundo carácter del valor del campo Teléfono.

Expresiones que realizan operaciones aritméticas en campos calculados

Se pueden usar expresiones para restar, multiplicar y dividir los valores de dos o más campos o controles. Asimismo, se pueden realizar operaciones aritméticas con fechas. Por ejemplo, supongamos que tiene un campo de tipo Fecha/Hora denominado FechaRequerida. La expresión =[FechaRequerida] - 2 devuelve un valor de Fecha/Hora igual a dos días antes del valor del campo FechaRequerida.

Expresión Descripción

TransporteBásico: [Transporte] * 1.1 Crea un campo denominado TransporteBásico y, a continuación, muestra los gastos de transporte más un 10 por ciento en el campo.

ImportePedido: [Cantidad] * [PrecioUnidad]

Crea un campo denominado ImportePedido y, a continuación, muestra el producto de los valores de los campos Cantidad y PrecioUnidad.

TiempoDeEspera: [FechaRequerida] - [FechaEnvío]

Crea un campo denominado TiempoDeEspera y, a continuación, muestra la diferencia entre los valores de los campos FechaRequerida y FechaEnvío.

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

Crea un campo denominado TotalExistencias y, a continuación, muestra la suma de los valores de los campos Unidades en existencias y Unidades de pedido.

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

Crea un campo denominado PorcentajeTransporte y, a continuación, muestra el porcentaje de los gastos de transporte en cada subtotal. Esta expresión usa la función Suma para sumar los valores del campo Transporte y, a continuación, divide esos totales entre la suma de los valores del campo Subtotal.

Para usar esta expresión, debe convertir la consulta de selección en una consulta de totales porque debe usar la fila Total en la cuadrícula de diseño, y debe establecer la celda Total de este campo en Expresión.

Para obtener más información sobre la creación de una consulta de totales, vea el artículo Sumar datos mediante una consulta.

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

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

Page 10: Generación de expresiones en ACCESS

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

Casi todas las bases de datos almacenan y registran fechas y horas. Para trabajar con fechas y horas en Access, establezca los campos de fecha y hora de las tablas en el tipo de datos Fecha/Hora. Access puede realizar operaciones aritméticas con fechas; por ejemplo, se puede calcular cuántos días han transcurrido desde la fecha de factura para determinar la antigüedad de las cuentas por cobrar.

Expresión Descripción

Intervalo: DifFecha("d", [FechaPedido], [FechaEnvío])

Crea un campo denominado Intervalo y, a continuación, usa la función DifFecha para mostrar el número de días entre la fecha de pedido y la fecha de envío.

AñoContratación: ParcFecha("aaaa",[FechaContratación])

Crea un campo denominado AñoContratación y, a continuación, usa la función ParcFecha para mostrar el año en que se contrató a cada empleado.

MenosTreinta: Fecha( )- 30 Crea un campo denominado MenosTreinta y, a continuación, usa la función Fecha para mostrar la fecha 30 días anterior a la fecha actual.

Expresiones que realizan un recuento, suman y calculan el promedio de valores mediante funciones de agregado SQL o funciones de agregado de dominio

Las expresiones que figuran en la siguiente tabla usan funciones SQL (Lenguaje de consulta estructurado) que suman o resumen datos. A estas funciones (por ejemplo, Suma, Cuenta y Promedio) se suele hacer referencia con el término funciones de agregado.

Además de las funciones de agregado, Access proporciona asimismo funciones de agregado de "dominio" que se usan para sumar o contar valores de manera selectiva. Por ejemplo, puede realizar un recuento sólo de los valores comprendidos en un intervalo determinado o buscar un valor de otra tabla. El conjunto de funciones de agregado de dominio incluye la función DSuma, la función DCuenta y la función DProm.

Para calcular totales, a menudo necesitará crear una consulta de totales. Por ejemplo, para resumir por grupo, necesitará usar una consulta de totales. Para habilitar una consulta de totales desde la cuadrícula de diseño de la consulta, haga clic en Totales en el menú Ver.

Expresión Descripción

NúmeroFilas:Cuenta(*) Crea un campo denominado NúmeroFilas y, a continuación, usa la función Cuenta para contar el número de registros de la consulta, incluidos los registros con campos nulos (en blanco).

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

Crea un campo denominado PorcentajeTransporte y, a continuación, calcula el porcentaje de los gastos de transporte en cada subtotal mediante la división de la suma de valores del campo Transporte y la suma de los valores del campo Subtotal. (En este ejemplo, se usa la función Suma.)

Nota Esta expresión debe usarse con una consulta de totales. Si establece la propiedad Formato del campo en Porcentaje, no incluya *100.

.

Para obtener más información sobre la creación de una consulta de totales, vea el artículo Sumar datos mediante una consulta.

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

Crea un campo denominado TransporteMedio y, a continuación, usa la función DProm para calcular el promedio de los gastos de transporte de todos los pedidos combinados en una consulta de

Page 11: Generación de expresiones en ACCESS

totales.

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

Las expresiones que se muestran a continuación funcionan con campos que contienen información que falta, como los campos que contienen valores nulos (valores desconocidos o sin definir). Con frecuencia se puede topar con valor nulos, como un precio desconocido de un nuevo producto o un valor que un compañero olvidó agregar a un pedido. La capacidad de buscar y procesar los valores nulos puede ser una parte importante de las operaciones de las bases de datos. Las expresiones que figuran en la siguiente tabla muestran algunas de las formas comunes para abordar los valores nulos.

Expresión Descripción

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

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

TiempoDeEspera: =SiInm(EsNulo([FechaRequerida] - [FechaEnvío]), "Comprobar si falta una fecha", [FechaRequerida] - [FechaEnvío])

Crea un campo denominado TiempoDeEspera y, a continuación, usa las funciones SiInm y EsNulo para que se muestre el mensaje "Comprobar si falta una fecha" si el valor del campo FechaRequerida o del campo FechaEnvío es nulo; en caso contrario, se muestra la diferencia entre las fechas.

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

Crea un campo denominado VentasSemestrales y, a continuación, muestra el total de los valores de los campos VentasPrimerTrimestre y VentasSegundoTrimestre usando primero la función Nz para convertir los valores nulos en cero.

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

Puede usar una consulta anidada, que también se conoce por el término subconsulta, para crear un campo calculado. La expresión que figura en la siguiente tabla es un ejemplo de un campo calculado generado a partir de una subconsulta.

Expresión Descripción

Cat: (SELECT [NombreCategoría] FROM [Categorías] WHERE [Productos].[IdCategoría]=[Categorías].[IdCategoría])

Crea un campo denominado Cat y, a continuación, muestra el nombre de categoría si el Id. de categoría de la tabla Categorías es el mismo que el Id. de categoría de la tabla Productos.

Expresiones que definen criterios y limitan los registros en el conjunto de resultados

Puede usar expresiones para definir los criterios de una consulta. Access devolverá únicamente las filas que cumplan los criterios. Los pasos que se describen en esta sección proporcionan información básica sobre cómo agregar criterios a una consulta. Las tablas de esta sección contienen ejemplos de criterios para hacer coincidir valores de texto y valores de fecha.

Agregar criterios a una consulta

En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en la consulta que desee modificar y después haga clic en Vista Diseño en el menú contextual.

En la fila Criterios de la cuadrícula de diseño, haga clic en la celda de la columna que desee usar y, a continuación, escriba los criterios.

Page 12: Generación de expresiones en ACCESS

Si desea disponer de un área más amplia para escribir la expresión, presione MAYÚS+F2 para mostrar el cuadro de diálogo Zoom.

O bien,

En la ficha Diseño, en el grupo Configuración de consultas, haga clic en Generador para iniciar el Generador de expresiones y crear la expresión.

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

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

Expresiones que hacen coincidir valores de texto completos o parciales

Las expresiones de ejemplo que figuran en esta tabla muestran criterios que hacen coincidir valores de texto completos o parciales.

Campo Expresión Descripción

CiudadEnvío "Londres" Muestra los pedidos enviados a Londres.

CiudadEnvío "Londres" O "Hedge End"

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

RegiónCiudadEnvío

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

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

RegiónCiudadEnvío

No "EE.UU." Usa el operador No para mostrar los pedidos enviados a países o regiones que no sean los Estados Unidos.

NombreProducto

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

NombreCompañía

>="N" Muestra los pedidos enviados a las compañías cuyo nombre comience por las letras comprendidas entre la N y la Z.

CódigoProducto Der([CódigoProducto], 2)="99"

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

NombreEnvío Como "S*" Muestra los pedidos enviados a clientes cuyo nombre comience con la letra S.

Expresiones que usan fechas en los criterios

Las expresiones que figuran en la siguiente tabla muestran el uso de fechas y funciones relacionadas en las expresiones de criterios.

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

Campo Expresión Descripción

FechaEnvío #02.02.2007# Muestra los pedidos enviados el 2 de febrero de 2007.

FechaEnvío Fecha( ) Muestra los pedidos enviados hoy.

FechaObligatoria

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

Usa el operador Entre...Y así como las funciones AgregFecha y Fecha para mostrar los pedidos

Page 13: Generación de expresiones en ACCESS

requeridos entre la fecha de hoy y tres meses a partir de la fecha actual.

FechaPedido < Fecha() - 30 Usa la función Fecha para mostrar los pedidos con una antigüedad de más de 30 días.

FechaPedido Año([FechaPedido])=2007 Usa la función Año para mostrar los pedidos cuya fecha de pedido corresponda al 2007.

FechaPedido ParcFecha("t", [FechaPedido])=4 Usa la función ParcFecha para mostrar los pedidos correspondientes al cuarto trimestre de calendario.

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

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

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

Usa las funciones Año y Mes así como el operador Y para mostrar los pedidos correspondientes al año y al mes actuales.

FechaEnvío Entre #05.01.2007# y #10.01.2007# Usa el operador Entre...Y para mostrar los pedidos enviados después del 5 de enero de 2007 y antes del 10 de enero de 2007.

FechaObligatoria

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

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

Fecha de nacimiento

Mes([FechaNacimiento])=Mes(Fecha()) Usa las funciones Mes y Fecha para mostrar a los empleados cuyo cumpleaños se celebre este mes.

Expresiones que hacen coincidir un valor que falta (valor nulo) o una cadena de longitud cero

Las expresiones que figuran en la siguiente tabla funcionan con campos que contienen información que puede faltar; es decir, los campos que contienen un valor nulo o una cadena de longitud cero. Un valor nulo representa la falta de información; no representa un cero ni ningún otro valor. Access admite esta idea de información que falta porque el concepto es fundamental para la integridad de una base de datos. En el mundo real, a menudo falta información, aunque sea temporalmente (por ejemplo, el precio aún sin determinar de un nuevo producto). Por ello, una base de datos que represente una entidad del mundo real como puede ser una empresa, deberá poder registrar la información como información que falta. Puede usar la función EsNulo para determinar si un campo o control contiene un valor nulo y puede usar la función Nz para convertir los valores nulos en cero.

Campo Expresión

Descripción

RegiónEnvío

Es Nulo Muestra los pedidos de los clientes cuyo campo RegiónEnvío sea nulo (información que falta).

RegiónEnvío

No es Nulo

Muestra los pedidos de los clientes cuyo campo RegiónEnvío contenga un valor.

Fax "" Muestra los pedidos de los clientes que no tienen una máquina de fax, lo que se indica mediante un valor de cadena de longitud cero en el campo Fax en lugar de un valor nulo (información que falta).

Expresiones que usan modelos para hacer coincidir los registros

Page 14: Generación de expresiones en ACCESS

El operador Como permite una gran flexibilidad cuando se intenta hacer coincidir filas que cumplen un modelo, porque Como puede usarse con caracteres comodón y se pueden definir modelos que Access debe hacer coincidir. Por ejemplo, el carácter comodín * (asterisco) hace coincidir una secuencia de caracteres de cualquier tipo y permite buscar con facilidad todos los nombres que empiecen por una letra. Por ejemplo, la expresión Como "S*" se usa para buscar todos los nombres que comiencen con la letra S.

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

Campo Expresión Descripción

NombreEnvío

Como "S*" Busca todos los registros del campo NombreEnvío que empiecen con la letra S.

NombreEnvío

Como "*Importaciones"

Busca todos los registros del campo NombreEnvío que terminen con la palabra Importaciones.

NombreEnvío

Como "[A-D]*" Busca todos los registros del campo NombreEnvío que comiencen con la letra A, B, C ó D.

NombreEnvío

Como "*ar*" Busca todos los registros del campo NombreEnvío que incluyan la secuencia de letras "ar".

NombreEnvío

Como "Casa Dewe?"

Busca todos los registros del campo NombreEnvío que incluyan "Casa" en la primera parte del valor y una cadena de cinco letras donde las cuatro primeras letras son "Dewe" y la última letra es desconocida.

NombreEnvío

No como "A*" Busca todos los registros del campo NombreEnvío que no empiecen con la letra A.

Expresiones que hacen coincidir filas basándose en el resultado de una función de agregado de dominio

Se usa una función de agregado de dominio para sumar, contar o calcular el promedio de valores de manera selectiva. Por ejemplo, para contar sólo los valores comprendidos en un intervalo determinado o cuyo valor es Sí. O bien, para buscar un valor de otra tabla y mostrarlo. Las expresiones de ejemplo que figuran en la siguiente tabla usan funciones de agregado de dominio para realizar un cálculo con un conjunto de valores y usar el resultado como criterios de la consulta.

Campo Expresión Descripción

Transporte

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

Usa las funciones DDesvEst y DProm para mostrar todos los pedidos cuyos gastos de transporte sean mayores que el promedio más la desviación estándar de los gastos de transporte.

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

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

Expresiones que hacen coincidir basándose en los resultados de subconsultas

Se usa una subconsulta, que también se conoce por el término consulta anidada, para calcular un valor que se va a usar como criterio. Las expresiones de ejemplo que figuran en la siguiente tabla hacen coincidir las filas basándose en los resultados devueltos por una subconsulta.

Campo Expresión Muestra

Page 15: Generación de expresiones en ACCESS

PrecioUnidad (SELECT [PrecioUnidad] FROM [Productos] WHERE [NombreProducto] = "Sirope de regaliz")

Productos cuyo precio sea igual que el precio del sirope de regaliz.

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

Productos cuyo precio por unidad sea mayor que el promedio.

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

Salario de todos los representantes cuyo salario sea mayor que el de los empleados con cargos de "Director" o "Vicepresidente".

TotalPedido: [PrecioUnidad] * [Cantidad]

> (SELECT AVG([PrecioUnidad] * [Cantidad]) FROM [Detalles de pedidos])

Pedidos cuyo total sea mayor que el valor de pedido medio.

Expresiones que se usan en las consultas de actualización

Las consultas de actualización se usan para modificar los datos de uno o varios campos existentes de una base de datos. Por ejemplo, puede reemplazar valores o eliminarlos completamente. En esta tabla se muestran algunas de las formas de usar expresiones en las consultas de actualización. Estas expresiones se usan en la fila Actualizar a de la cuadrícula de diseño de la consulta para el formulario que se desea actualizar.

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

Campo Expresión Resultado

Título "Vendedor" Cambia un valor de texto a Vendedor.

InicioProyecto #10.08.2007# Cambia un valor de fecha al 10 de agosto de 2007.

Retirados Sí Cambia a Sí un valor No de un campo de tipo Sí/No.

NúmeroPieza "NP" & [NúmeroPieza] Agrega NP al principio de cada número de pieza especificado.

TotalArtículoLínea

[PrecioUnidad] * [Cantidad] Calcula el producto de PrecioUnidad y Cantidad.

Transporte [Transporte] * 1,5 Incrementa los gastos de transporte en un 50 por ciento.

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

Cuando los valores de IdProducto de la actual tabla coinciden con los valores de IdProducto de la tabla Detalles de pedidos, se actualizan los totales de ventas basándose en el producto de Cantidad y PrecioUnidad.

CódigoPostalEnvío

Der([CódigoPostalEnvío], 5) Trunca los caracteres situados más a la izquierda, dejando los cinco caracteres más situados a la derecha.

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

Expresiones usadas en instrucciones SQL

Lengua de consulta estructurado o SQL es el lenguaje de consulta que usa Access. Todas las consultas que se crean en la vista Diseño de consulta también pueden expresarse mediante SQL. Para ver la instrucción SQL de cualquier consulta, haga clic en Vista SQL en el menú Ver. En la siguiente tabla se muestran instrucciones SQL de ejemplo que usan una expresión.

Page 16: Generación de expresiones en ACCESS

Instrucción SQL que usa una expresión Resultado

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

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

SELECT [IdProducto],[NombreProducto] FROM [Productos] WHERE [IdCategoría]=Formularios![Nuevos productos]![IdCategoría];

Muestra los valores de los campos IdProducto y NombreProducto de la tabla Productos para los registros donde el valor de IdCategoría coincida con el valor de IdCategoría especificado en un formulario abierto denominado Nuevos productos.

SELECT Avg([PrecioTotal]) AS [Precio total medio] FROM [Detalles de pedidos ampliados] WHERE [PrecioTotal]>1000;

Calcula el precio total medio de los pedidos para los que el valor del campo PrecioTotal sea mayor que 1.000 y lo muestra en un campo denominado Precio total medio.

SELECT [IdCategoría], Count([IdProducto]) AS [NúmeroDeIdProducto] FROM [Productos] GROUP BY [IdCategoría] HAVING Count([IdProducto])>10;

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

Ejemplos de expresiones de valor predeterminado

Al diseñar una base de datos, quizás desee asignar un valor predeterminado a un campo o control. Access proporcionará el valor predeterminado cuando cree un nuevo registro que contenga el campo o cuando cree el objeto que contiene el control. Las expresiones que figuran en la siguiente tabla representan los mismos valores predeterminados para un campo o control.

Agregar un valor predeterminado para un campo de una tabla

En el panel de exploración, haga clic con el botón secundario en la tabla que desea cambiar y después haga clic en Vista Diseño en el menú contextual.

Haga clic en el campo que desee cambiar y, en la ficha General, haga clic en el cuadro de propiedad Valor predeterminado.

Escriba la expresión o haga clic en el botón Generar situado a la derecha del cuadro de propiedad para crear una expresión mediante el Generador de expresiones.

Si hay un control enlazado a un campo de una tabla y el campo tiene un valor predeterminado, el valor predeterminado del control tiene prioridad.

Campo Expresión Valor de campo predeterminado

Cantidad 1 1

Región "MT" MT

Región "Nueva York, N.Y."

Nueva York, N.Y. (Observe que debe escribir el valor entre comillas si incluye puntuación.)

Fax "" Cadena de longitud cero que indica que, de manera predeterminada, este campo debe estar vacío en vez de contener un valor nulo.

Fecha de pedido

Fecha( ) Fecha actual

FechaVencimiento

Fecha() +60 Fecha a los 60 días de la fecha actual

Page 17: Generación de expresiones en ACCESS

Ejemplos de expresiones de regla de validación de campo

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

Agregar una regla de validación a un campo

En el panel de exploración, haga clic con el botón secundario en la tabla que desea cambiar y después haga clic en Vista Diseño en el menú contextual.

Haga clic en el campo que desee cambiar.

Haga clic en el cuadro de propiedad Regla de validación, ubicado en la sección inferior del diseñador de tablas.

Escriba la expresión o haga clic en el botón Generar situado a la derecha del cuadro de propiedad para crear una expresión mediante el Generador de expresiones.

Nota No coloque el operador = delante de la expresión cuando cree una regla de validación.

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

Propiedad Regla de validación Propiedad Texto de validación

<> 0 Especifique un valor distinto de cero.

0 Or > 100 El valor debe ser igual que cero o mayor que 100.

Como "K???" El valor debe constar de cuatro caracteres y comenzar por la letra K.

< #01.01.2007# Especifique una fecha anterior al 1 de enero de 2007.

>= #01.01.2007# Y < #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.

Ejemplos de expresiones de condiciones de macro

En algunos casos, quizás desee llevar a cabo una acción o una serie de acciones en una macro solamente si se cumple una condición concreta. Por ejemplo, supongamos que desea que se ejecute una acción de macro solamente si el valor del cuadro de texto Contador es 10. Para ello, use una expresión para definir la condición en la columna Condición de la macro [Contador]=10.

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

En el panel de exploración, haga clic con el botón secundario del mouse en la macro que desee cambiar y, a continuación, haga clic en Vista Diseño en el menú contextual.

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

Haga clic en la celda Condición correspondiente a la acción de macro que desee cambiar y, a continuación, escriba la expresión adicional.

Guarde los cambios y, a continuación, cierre la macro.

Page 18: Generación de expresiones en ACCESS

Al igual que en el caso de la propiedad Regla de validación, la expresión de la columna Condición es una expresión condicional. Su valor debe ser True o False. La acción se realizará únicamente si se cumple la condición (True).

Page 19: Generación de expresiones en ACCESS

Use esta expresión para llevar a cabo la acción Si

[Ciudad]="París" París es el valor de Ciudad en el campo en el formulario desde el cual se ejecutó la macro.

DCuenta("[IdPedido]", "Pedidos") > 35 Hay más de 35 entradas en el campo IdPedido de la tabla Pedidos.

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

Hay más de tres entradas en la tabla Detalles de pedidos para los cuales el campo IdPedido de la tabla coincide con el campo IdPedido del formulario Pedidos.

[FechaEnvío] Entre #2-Feb-2007# Y #2-Mar-2007# El valor del campo FechaEnvío del formulario desde el cual se ejecuta la macro no es anterior al 2-Feb-2007 y no es posterior al 2-Mar-2007.

Formularios![Productos]![UnidadesEnExistencias] < 5

El valor del campo UnidadesEnStock del formulario Productos es menor que cinco.

EsNulo([Nombre]) El valor Nombre del formulario desde el que se ejecuta la macro es nulo (no tiene valor). Esta expresión es equivalente a [Nombre] Es Nulo.

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

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

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

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

CuadroMsj("¿Confirmar cambios?",1)=1 Se hace clic en Aceptar en un cuadro de diálogo que muestre la función CuadroMsj. Si se hace clic en Cancelar en el cuadro de diálogo, Access omite la acción.

Nota Para que Access omita temporalmente una acción, escriba False como condición. Esto puede resultar útil cuando intenta encontrar problemas en una macro.

Crear una regla de validación para validar los datos de un campo

En este artículo se explica cómo agregar reglas de validación a una base de datos. Las reglas de validación restringen lo que los usuarios pueden escribir en un campo determinado y, además, ayudan a asegurar que los usuarios de la base de datos especifican el tipo o la cantidad de datos correctos.

Obtener información sobre las reglas de validación

Una regla de validación limita o controla lo que los usuarios pueden escribir en un campo de tabla o un control (como un cuadro de texto) de un formulario. Microsoft Office Access 2007 permite validar los datos de diversas maneras y, a menudo, se usan varias de esas técnicas para definir una regla de validación. Las reglas de validación se pueden considerar como un conjunto de capas y se pueden usar algunas o todas esas capas para asegurar que los usuarios escriben correctamente los datos.

Tipos de datos En general, los tipos de datos representan la primera capa de validación. Cuando se diseña una tabla de base de datos, se define un tipo de datos para cada campo de la tabla y ese tipo de datos restringe lo que los usuarios pueden escribir. Por ejemplo, los campos de tipo Fecha/Hora aceptan únicamente fechas y horas, un campo de tipo Moneda acepta únicamente datos monetarios, etc.

Page 20: Generación de expresiones en ACCESS

Tamaños de campo Los tamaños de campo son otra capa de validación. Por ejemplo, si se crea un campo que almacene nombres, se puede configurarlo de modo que acepte un máximo de 20 caracteres. De este modo, se puede evitar que usuarios malintencionados peguen grandes cantidades de texto incoherente en el campo, o bien, que un usuario sin experiencia escriba por error un nombre y un apellido en un campo diseñado para que sólo pueda contener un nombre.

Propiedades de tabla Las propiedades de tabla proporcionan tipos de validación muy específicos. Por ejemplo, se puede establecer la propiedad Requerido en Sí y, como resultado, obligar a los usuarios a escribir un valor en un campo.

Se puede usar asimismo la propiedad Regla de validación para requerir que se escriban valores específicos, y la propiedad Texto de validación para informar a los usuarios de los errores. Por ejemplo, si se escribe la regla >100 Y <1000 en la propiedad Regla de validación, se obliga a los usuarios a especificar valores comprendidos entre 100 y 1.000. La regla [FechaFin]>=[FechaInicio] obliga a los usuarios a escribir una fecha de finalización igual o posterior a la fecha de inicio. Si se escribe el texto "Especifique valores comprendidos entre 100 y 1.000" o "Especifique una fecha de finalización igual o posterior a la fecha de inicio" en la propiedad Texto de validación, se indica a los usuarios que han cometido un error y se indica cómo corregirlo.

Para saber los pasos necesarios para agregar una regla de validación a un campo de tabla, vea la sección Validar datos al escribirlos en los campos de una tabla, más adelante en este artículo.

Máscaras de entrada Se puede usar una máscara de entrada para validar los datos obligando a los usuarios a escribir los valores de una manera determinada. Por ejemplo, una máscara de entrada puede obligar a los usuarios a escribir las fechas en un formato europeo, como 14.04.2007.

Puede usar algunas o todas estas técnicas para validar los datos. Algunas de estas características, como los tipos de datos, forman parte de la base de datos de forma predeterminada, pero otras técnicas, como las propiedades de campo, las reglas de validación y las máscaras de entrada, las puede usar a su discreción.

En este artículo se explica cómo usar las propiedades Texto de validación y Regla de validación en los campos de tabla, consultas y controles de formulario. En este artículo no se abordan las demás herramientas de validación, como son los tipos de datos, los tamaños de campo y las máscaras de entrada.

Para obtener más información sobre los tipos de datos y los tamaños de campo, vea los artículos Modificar o cambiar el tipo de datos definido para un campo. Para obtener más información sobre las máscaras de entrada, vea el artículo Crear una máscara de entrada para especificar los valores de campos o controles con un formato determinado.

Tipos de reglas de validación

Se pueden crear dos tipos básicos de reglas de validación:

Reglas de validación de campo Use una regla de validación de campo para comprobar el valor especificado en un campo al salir del campo. Por ejemplo, supongamos que tiene un campo de fecha y especifica >=#01/01/2007# en la propiedad Regla de validación de ese campo. La regla obliga a los usuarios a escribir fechas que coincidan o sean posteriores al 1 de enero de 2007. Si especifica una fecha anterior a 2007 e intenta ir a otro campo, Access evitará que salga del campo hasta que solucione el problema.

Reglas de validación de registro (o tabla) Use una regla de validación de registro para controlar cuándo puede guardar un registro (una fila de una tabla). A diferencia de las reglas de validación de campo, las reglas de validación de registro hacen referencia a otros campos de la misma tabla. Las reglas de validación de registro sirven para comprobar los valores de un campo con respecto a los valores de otro campo. Por ejemplo, supongamos que su compañía le obliga a enviar los productos en un plazo de 30 días y, si no lo hace, deberá reembolsar al cliente parte del precio de compra. Podrá definir una regla de validación de registro como [FechaObligatoria]<=[FechaPedido]+30 para evitar que alguien especifique una fecha de envío (el valor del campo FechaObligatoria) demasiado lejana.

Si la sintaxis de las reglas de validación parece críptica, en las tablas de la sección Lo que se puede incluir en una regla de validación se explica la sintaxis y se muestran algunas reglas de validación de ejemplo.

Dónde usar las reglas de validación

Page 21: Generación de expresiones en ACCESS

Se pueden definir reglas de validación para las tablas y los controles de formularios. Cuando se definen reglas para tablas, esas reglas se aplican cuando se importan los datos. Para agregar reglas de validación a una tabla, se abre la tabla en la vista Diseño y se configuran varias propiedades de la tabla. Para agregar reglas de validación a un formulario, se abre el formulario en la vista Diseño y se agregan las reglas a las propiedades de los controles individuales.

Los pasos descritos en la sección Validar datos al escribirlos en los campos de una tabla explican cómo se agregan las reglas de validación a las propiedades de los campos de una tabla. Los pasos descritos en la sección Validar datos al incluirlos en un formulario, que aparece más adelante en este artículo, explican cómo se agregan las reglas a las propiedades de los controles individuales.

Lo que se puede incluir en una regla de validación

Las reglas de validación pueden contener expresiones, es decir, funciones que devuelven un solo valor. Las expresiones se pueden usar para realizar cálculos, manipular caracteres o comprobar datos. Cuando se crean reglas de validación, se usan las expresiones principalmente para comprobar datos. Por ejemplo, una expresión puede comprobar si existe un valor de una serie de valores, como "Tokio" O "Moscú" O "París" O "Helsinki". Las expresiones también pueden realizar operaciones matemáticas. Por ejemplo, la expresión <100 obliga a los usuarios a especificar valores menores que 100. La expresión ([FechaPedido] - [FechaEnvío]) calcula el número de días transcurridos entre la fecha en que se hizo el pedido y la fecha de envío.

En este artículo no se abordan las expresiones ni las funciones. Para obtener más información sobre las expresiones, vea el artículo Crear una expresión. Para obtener más información sobre las funciones, vea los artículos en Microsoft Office Online.

Para obtener ejemplos de cómo se pueden usar las expresiones para validar datos, vea la sección Validar los datos de un registro.

Los pasos descritos en las siguientes secciones explican cómo se validan los datos de tablas, formularios, consultas y operaciones de importación.

Validar datos al escribirlos en los campos de una tabla

Los pasos descritos en esta sección explican cómo crear reglas de validación para campos y registros, y explican cómo probar una nueva regla de validación con datos existentes.

Se pueden especificar reglas de validación para todos los tipos de datos, salvo Autonumérico, Objeto OLE, Datos adjuntos y campos de tipo Número definidos como Id. de réplica.

Validar los datos de un campo

1. En el panel de exploración, haga clic con el botón secundario del mouse (ratón) en la tabla que desee cambiar y, a continuación, haga clic en Vista Diseño.

2. En la columna Nombre del campo, seleccione el campo que desee cambiar.3. En la sección inferior del diseñador de consultas, en la ficha General, seleccione el cuadro de la propiedad

Regla de validación y, a continuación, escriba la regla de validación.

O bien,

Haga clic en la ficha Datos de la hoja de propiedades, haga clic en a continuación para iniciar el Generador de expresiones y crear una expresión.

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

Escriba una regla que se aplique únicamente al campo. Por ejemplo, puede escribir >0 para obligar a los usuarios a especificar valores positivos. Recuerde que las reglas de validación de un campo no hacen referencia a otros campos de la tabla. Si la regla hace referencia a otros campos, se trata de una regla de validación de registro.

4. Seleccione el cuadro de propiedad Texto de validación y escriba un mensaje de validación.

Page 22: Generación de expresiones en ACCESS

Este mensaje depende de la regla de validación. Escriba un mensaje breve e intente explicar el error que ha cometido el usuario. Para continuar con el ejemplo del paso anterior, podría usar Escriba sólo números positivos como texto de validación.

5. Guarde el trabajo.

NOTA Para obtener más ejemplos de la validación de campos, vea la sección Referencia de validación, más adelante en este artículo.

Validar los datos de un registro

1. Repita los pasos 1 y 2 de la anterior sección para abrir una tabla en la vista Diseño.2. En la ficha General, escriba una regla de validación de registro en el cuadro de propiedad Regla de

validación.

O bien,

Haga clic en a continuación para iniciar el Generador de expresiones y crear una expresión.

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

Una regla de validación de registro hace referencia a varios campos de tabla. Por ejemplo, la regla [FechaObligatoria]<=[FechaPedido]+30 hace referencia a dos campos de tabla, FechaObligatoria y FechaPedido, y asegura que los usuarios especifiquen fechas de envío que no sean posteriores a un plazo de 30 días a partir de la fecha del pedido. Para obtener más ejemplos de la validación de registro, vea la sección Referencia de validación.

3. Guarde los cambios.

Probar las reglas de validación

1. Abra la tabla que contiene la regla de validación en la vista Diseño.2. En el grupo Herramientas de la ficha Diseño, haga clic en Probar reglas de validación.

3. Haga clic en Sí para cerrar el mensaje de alerta e iniciar la prueba.4. Si se pregunta si desea guardar la tabla, haga clic en Sí.5. Puede que aparezcan varios mensajes de alerta a medida que proceda. Lea las instrucciones de cada

mensaje y, a continuación, haga clic en Sí o No, según proceda, para realizar o detener la prueba.

Probar las reglas de validación mediante una consulta

NOTA Puede probar las reglas de validación escribiendo una consulta que compruebe si hay registros que no cumplen la regla de validación. Los resultados de esa consulta muestran exactamente los registros que no cumplen los requisitos de validación. Por ejemplo, si establece la propiedad Requerido en Sí o en No es Nulo, comprobará los campos cuyo valor no sea nulo.

1. En el grupo Otros de la ficha Crear, haga clic en Diseño de consulta.

Access abre una nueva consulta en la vista Diseño y muestra el cuadro de diálogo Mostrar tabla.

2. En el cuadro de diálogo Mostrar tabla, seleccione las tablas que desee usar en la consulta, haga clic en Agregar para agregarlas a la consulta y, a continuación, haga clic en Cerrar.

Las tablas seleccionadas aparecen como ventanas en la sección superior del diseñador de consultas.

Page 23: Generación de expresiones en ACCESS

3. En cada tabla, haga doble clic en los campos que desee incluir en la consulta.

O bien,

Arrastre los campos de la tabla y colóquelos en una celda en blanco de la fila Campo situada en la parte inferior de la cuadrícula de diseño.

Asegúrese de agregar el campo que contiene la regla de validación.

4. En la celda Criterios del campo que contiene la regla de validación, escriba lo contrario de esa regla.

Por ejemplo, si usa ENTRE 100 Y 1000, escriba <100 O >1000.

5. En el grupo Resultados de la ficha Diseño, haga clic en Ejecutar.

Volver al principio

Validar datos al escribirlos en un formulario

La manera más fácil y más rápida de aplicar una regla de validación a un formulario es agregar primero la regla al campo de tabla subyacente y, a continuación, usar las herramientas de creación de formulario automatizada incluidas en Access para crear un formulario. Por ejemplo, en la ficha Crear, en el grupo Formularios, puede optar por la creación de un formulario simple, un formulario dividido, un formulario de varios elementos, etc. Cuando usa una de estas herramientas, los controles del formulario heredan las propiedades de tabla subyacentes, inclusive las reglas de validación y el texto de validación.

Asimismo, puede aplicar una regla de validación a un control de formulario abriendo el formulario en la vista Diseño y agregando una regla a la propiedad Regla de validación y el texto del mensaje a la propiedad Texto de validación del control. Se pueden agregar reglas de validación a algunos controles de formulario, no a todos. La manera más fácil de determinar si se puede agregar una regla de validación a un control es abrir el formulario en la vista Diseño y seguir los pasos descritos en esta sección.

Recuerde que un control puede tener otra regla de validación que el campo de tabla al que está enlazado. Cuando existe un conflicto entre las reglas de validación, la regla definida para el campo de tabla tiene prioridad. Asimismo, recuerde que las reglas de controles y campos de tabla pueden cancelarse mutuamente y, por lo tanto, impedir que se introduzcan datos. Por ejemplo, supongamos que aplica la siguiente regla a un campo de fecha de una tabla:

<#01/01/2007#

Y, a continuación, aplica esta regla al control de formulario enlazado al campo de tabla:

>=#01/01/2007#

El campo de tabla requiere ahora valores anteriores al año 2007, pero el control de formulario le obliga a especificar fechas posteriores a ese año, por lo que no puede especificar ningún dato. Si lo intenta en estas condiciones, Access le indicará que especifique fechas anteriores y posteriores a las definidas por las reglas de validación en conflicto, por lo que se encontrará en un callejón sin salida.

En los siguientes pasos se explica cómo agregar reglas de validación a los controles, cómo bloquear los controles y, por consiguiente, evitar que los usuarios cambien los datos.

Crear una regla de validación

1. En el panel de exploración, haga clic con el botón secundario del mouse en el formulario que desee cambiar y, a continuación, haga clic en Vista Diseño.

2. Haga clic con el botón secundario en el control que desee cambiar y, a continuación, haga clic en Propiedades para abrir la hoja de propiedades del control.

3. Haga clic en la ficha Todas y, a continuación, escriba la regla de validación en el cuadro de propiedad Regla de validación.

O bien,

Page 24: Generación de expresiones en ACCESS

Haga clic en a continuación para iniciar el Generador de expresiones y crear una expresión.

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

4. Escriba un mensaje en el cuadro de propiedad Texto de validación.5. Guarde los cambios.

Bloquear un control

1. Siga los pasos 1 y 2 descritos en la sección anterior para abrir la hoja de propiedades del control que desee bloquear.

2. Haga clic en la ficha Todas, busque los cuadros de propiedad Activado y Bloqueado y, a continuación, siga uno de estos procedimientos:

Para deshabilitar el control (de modo que aparezca atenuado y no esté disponible para tener el foco), establezca el valor de la propiedad Activado en No.

Para que se puedan leer los datos del control pero los usuarios no puedan cambiarlos, establezca la propiedad Bloqueado en Sí. Si establece la propiedad Activado en No y la propiedad Bloqueado en Sí, el control no aparecerá atenuado pero no podrá tener el foco.

Volver al principio

Validar datos durante las operaciones de importación

Cuando se agregan reglas de validación a una tabla y, a continuación, se importan datos a esa tabla, Access aplica las reglas de validación a los datos importados. La misma regla se aplica cuando se vincula a datos.

Para obtener más información sobre la importación o la vinculación a datos, vea los siguientes artículos:

Importar o vincular a los datos de otra base de datos de Access Importar o vincular a los datos de un libro de Excel Importar o vincular a una lista de SharePoint Importar o vincular a los datos de un archivo de texto

Volver al principio

Referencia a las reglas de validación

En las siguientes tablas se muestra información de referencia sobre las reglas de validación, inclusive la sintaxis usada por las reglas más comunes, vínculos a información sobre el uso de los caracteres comodín en las reglas y ejemplos que se pueden adaptar para usarlos con datos propios.

Ejemplos de reglas de validación

La siguiente tabla incluye ejemplos de reglas de validación de campo y de registro, además de texto de validación explicativo. Estos ejemplos se pueden adaptar a los datos propios.

REGLA DE VALIDACIÓN TEXTO DE VALIDACIÓN

<>0 Especifique un valor que no sea cero.

>=0 El valor debe ser igual o mayor que cero.O bien,Especifique un número positivo.

0 o >100 El valor debe ser igual que cero o mayor que 100.ENTRE 0 Y 1 Especifique un valor con un signo de porcentaje. (Se usa

con los campos que almacenan los valores numéricos como porcentajes).

<#01/01/2007# Especifique una fecha anterior a 2007.>=#01/01/2007# Y <#01/01/2008# La fecha debe ser del año 2007.<Fecha() La fecha de nacimiento no puede ser una fecha futura.

Page 25: Generación de expresiones en ACCESS

CompCadena(Mayús([Apellidos]),[Apellidos],0) = 0

Los datos del campo Apellidos deben escribirse en mayúsculas.

>=Int(Ahora()) Especifique la fecha de hoy.H O M Escriba H para hombre o M para mujer.COMO "[A-Z]*@[A-Z].com" O "[A-Z]*@[A-Z].net" O "[A-Z]*@[A-Z].org"

Escriba una dirección de correo electrónico válida que termine en .com, .net u .org.

[FechaObligatoria]<=[FechaPedido]+30 Escriba una fecha obligatoria que no sea posterior a un plazo de 30 días a partir de la fecha de pedido.

[FechaFin]>=[FechaInicio] Escriba una fecha de finalización que sea igual o posterior a la fecha de inicio.

Sintaxis de las reglas de validación comunes

Las expresiones en las reglas de validación no tienen ninguna sintaxis especial. En esta sección se explica la sintaxis de algunos de los tipos más comunes de reglas de validación. Recuerde que las expresiones y funciones pueden llegar a ser muy complejas, por lo que no se abordan de manera exhaustiva en este artículo.

Para obtener más información sobre las expresiones, vea el artículo Crear una expresión. Para obtener información sobre las funciones, vea el artículo Funciones (organizadas por categoría).

Tenga en cuenta estas reglas cuando cree expresiones:

Escriba los nombres de los campos de tabla entre corchetes; por ejemplo: [FechaObligatoria]<=[FechaPedido]+30.

Escriba las fechas entre signos de almohadilla (#); por ejemplo: <#01/01/2007#. Escriba los valores de texto entre comillas dobles; por ejemplo: EN ("Tokio","París","Moscú"). Además,

observe que los elementos van separados con una coma y las listas aparecen entre paréntesis.

Además de estas reglas, en la siguiente tabla se muestran los operadores aritméticos comunes y ejemplos de cómo usarlos.

Page 26: Generación de expresiones en ACCESS

OPERADOR

FUNCIÓN EJEMPLO

NO Comprueba si hay valores opuestos. Se puede usar delante de cualquier operador de comparación, salvo NO ES NULO.

NO > 10 (es lo mismo que <=10).

EN Comprueba si hay valores iguales a los elementos de una lista. El valor de comparación debe ser una lista de valores separados por comas que aparece entre paréntesis.

EN ("Tokio","París","Moscú")

ENTRE Comprueba si hay un intervalo de valores. Deben haber dos valores de comparación (un valor alto y un valor bajo) y esos valores deben ir separados por el separador Y.

ENTRE 100 Y 1000 (es lo mismo que >=100 Y <=1000)

COMO Busca cadenas modelo coincidentes en los campos de tipo Texto y Memo.

COMO "Geo*"

NO ES NULO

Obliga a los usuarios a escribir valores en el campo. Equivale a establecer el valor de la propiedad de campo Requerido en Sí. Sin embargo, cuando se habilita la propiedad Requerido y un usuario no especifica un valor, Access muestra un mensaje de error poco descriptivo. En general, el uso de las bases de datos resulta más fácil si se utiliza NO ES NULO y se escribe un mensaje descriptivo en la propiedad Texto de validación.

NO ES NULO

Y Especifica que todos los datos que se especifiquen deben ser verdaderos o estar dentro de los límites especificados.

>= #01/01/2007# Y <=#06/03/2008#NOTA Se puede usar Y también para combinar reglas de validación. Por ejemplo: NO "Reino Unido" Y COMO "R*".

O Especifica que uno o varios datos pueden ser verdaderos. enero O febrero< Menor que.<= Menor o igual que.> Mayor que.>= Mayor o igual que.= Igual que.<> Distinto de.

Usar caracteres comodín en las reglas de validación

Puede usar en las reglas de validación cualquiera de los caracteres comodín proporcionados por Access. Recuerde que Access admite dos juegos de caracteres comodín porque admite dos estándares de Lenguaje de consulta estructurado (SQL), que es el lenguaje que se usa para crear y administrar las bases de datos: ANSI-89 y ANSI-92. Cada uno de esos estándares usa un juego de caracteres comodín distinto.

De forma predeterminada, todos los archivos .accdb y .mdb usan el estándar ANSI-89; sin embargo, los proyectos de Access usan el estándar ANSI-92. Si no conoce Access, en un proyecto de Access, las tablas de la base de datos residen en un equipo en el que se ejecuta Microsoft SQL Server, mientras que los formularios, informes y otros objetos residen en otros equipos. Si lo desea, puede cambiar el estándar ANSI para los archivos .accdb y .mdb a ANSI-92.

Para obtener más información sobre el uso de los caracteres comodín y los estándares ANSI para SQL, vea el artículo Información de referencia sobre los caracteres comodín en Access.

Page 27: Generación de expresiones en ACCESS

Crear expresiones condicionales (booleanas)

Mostrar todo

En este artículo se explica cómo crear expresiones condicionales (también denominadas booleanas). Una expresión condicional se evalúa como true o false y, a continuación, devuelve un resultado que cumple con la condición especificada. Si se usan funciones en las expresiones condicionales, se puede especificar asimismo una acción para los valores que cumplen y no cumplen con la condición de la expresión. Por ejemplo, se puede crear una expresión que busque todas las ventas con un margen de ganancia del 10 por ciento o menos y, a continuación, especificar que esos números aparezcan en color rojo o reemplazar los valores con un mensaje.

En este artículo

Información sobre las expresiones condicionales Crear una expresión condicional Ejemplos de expresiones condicionales

Información sobre las expresiones condicionales

Una expresión condicional es un tipo de expresión que comprueba los datos para ver si cumplen con una condición y, a continuación, lleva a cabo una acción según el resultado. Por ejemplo, una expresión puede buscar valores de fecha posteriores a una fecha inicial dada y, a continuación, mostrar un mensaje de error cuando se intenta especificar una fecha anterior a la fecha inicial definida.

Las expresiones condicionales tienen el mismo formato y la misma sintaxis básica que otras expresiones. Además, se pueden usar de la misma manera que otras expresiones:

En el caso de los campos de tabla, se agrega la expresión a la propiedad Regla de validación del campo. Los usuarios deberán especificar en el campo valores que cumplan con las condiciones de la expresión. Por ejemplo, si se usa la expresión >=#1/1/1900# en un campo con el tipo de datos Fecha/Hora, los usuarios deberán especificar valores iguales o posteriores al 1 de enero de 1900.

En el caso de los controles de formulario, se puede agregar una expresión a la propiedad Origen del control o Regla de validación del control. Normalmente, las expresiones condicionales se agregan a la propiedad Regla de validación; las expresiones que calculan valores se agregan a la propiedad Origen del control. Por ejemplo, si se usa >=#1/1/1900# en la propiedad Regla de validación de un control, se impide que los usuarios especifiquen una fecha no válida. Si se usa la expresión Fecha() en la propiedad Origen del control, se muestra la fecha actual como valor predeterminado.

En el caso de las consultas, se pueden agregar las expresiones condicionales a una celda en blanco de la fila Campo, o bien, se puede usar una expresión en la fila Criterios de la consulta. Cuando se usa una expresión en la fila Campo, los resultados aparecen como una columna en los resultados de la consulta. Cuando se usa una expresión como criterios para un campo existente, la expresión actúa como un filtro y limita los registros devueltos por la consulta.

Por ejemplo, puede usar esta expresión en la fila Campo de una consulta: =SiInm([Fecha de pedido]<=#01/04/2003#,[Fecha de pedido],"Pedido realizado después del 1 de abril"). La expresión especifica un criterio de fecha (<=#01/04/2003#). Cuando la consulta devuelva su resultado, mostrará todos los valores de fecha que cumplan el criterio y los valores de fecha que no cumplan el criterio se reemplazarán con el mensaje"Pedido realizado después del 1 de abril". Los pasos descritos en la sección Agregar una expresión a una consulta indican cómo usar esta expresión en una consulta.

En cambio, si se usa esta expresión en el campo Criterios de una consulta, se devolverán únicamente los registros con fechas que cumplan el criterio: Entre #01/04/2003# Y #15/05/2003#.

Para obtener más información sobre la creación y el uso de las expresiones, vea el artículo Crear una expresión.

Crear una expresión condicional

Page 28: Generación de expresiones en ACCESS

Los pasos descritos en esta sección indican cómo agregar una expresión condicional a una tabla, un control de formulario o informe y una consulta. En cada uno de los grupos de pasos, se usa una expresión ligeramente distinta para comprobar los valores de un campo con el tipo de datos Fecha/Hora y llevar a cabo una acción según si los valores de fecha cumplen la condición especificada.

Agregar una expresión a un campo de tabla

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

2. En la columna Tipo de datos, haga clic en el campo Fecha/Hora.3. Bajo Propiedades del campo, en la ficha General, haga clic en el cuadro de la propiedad Regla de

validación y escriba la siguiente expresión:

>=#01/01/1900#

NOTA No es necesario que use el formato de fecha de Estados Unidos. Puede usar el formato de fecha correspondiente a su país, región o configuración local. No obstante, es preciso escribir el valor de fecha entre signos de almohadilla (#), tal y como se muestra aquí.

4. Haga clic en la columna situada junto a Texto de validación y escriba esta cadena de texto:

La fecha debe ser posterior al 1 de enero de 1900.

Una vez más, puede usar el formato de fecha local.

5. Guarde los cambios y pase a la vista Hoja de datos. Para ello, haga clic con el botón secundario del mouse en la ficha de documentos correspondiente a la tabla y haga clic en Vista Hoja de datos en el menú contextual.

6. Escriba un valor de fecha en el campo Fecha/Hora anterior al 1 de enero de 1900. Access mostrará el mensaje especificado en el cuadro de la propiedad Regla de validación y no se podrá abandonar el campo hasta que se especifique un valor que la expresión evalúe como true.

Agregar una expresión a un control

1. En el panel de exploración, haga clic con el botón secundario del mouse en el formulario que desee cambiar y, a continuación, haga clic en Vista Diseño en el menú contextual.

2. Haga clic con el botón secundario del mouse en un campo Fecha/Hora y, a continuación, haga clic en Propiedades en el menú contextual.

Aparece la hoja de propiedades del control.

3. En la ficha Datos o Todas, haga clic en el campo situado junto a Regla de validación y escriba la siguiente expresión:

>=#01/01/1900#

NOTA No es necesario que use el formato de fecha de Estados Unidos. Puede usar el formato de fecha correspondiente a su país, región o configuración local. No obstante, es preciso escribir el valor de fecha entre signos de almohadilla (#), tal y como se muestra aquí.

4. Haga clic en la columna situada junto a Texto de validación y escriba esta cadena de texto:

La fecha debe ser posterior al 1 de enero de 1900.

5. Guarde los cambios y pase a la vista Formulario. Para ello, haga clic con el botón secundario del mouse en la ficha de documentos correspondiente al formulario y haga clic en Vista Formulario en el menú contextual.

Agregar una expresión a una consulta

1. En el panel de exploración, haga clic con el botón secundario del mouse en la consulta que desee cambiar y, a continuación, haga clic en Vista Diseño en el menú contextual.

Page 29: Generación de expresiones en ACCESS

2. Haga clic en una celda en blanco de la fila Campo de la cuadrícula de diseño y, a continuación, escriba la siguiente expresión:

=SiInm([Nombre_de_campo]<=#01/04/2003# , [Nombre_de_campo] , "Fecha posterior al 1 de abril de 2003")

Cuando escriba la expresión, asegúrese de reemplazar las dos instancias de Nombre_de_campo con el nombre del campo Fecha/Hora. Además, si la tabla no contiene fechas anteriores al 1 de enero de 2004, modifique las fechas de la expresión de modo que ésta funcione con los datos.

3. Guarde los cambios y, a continuación, haga clic en Ejecutar para ver los resultados.

La expresión funciona de la siguiente manera: el primer argumento (=SiInm([Nombre_de_campo]<=#01/04/2003#) especifica la condición que deben cumplir los datos: las fechas deben coincidir o ser anteriores al 1 de abril de 2003. El segundo argumento ([Nombre_de_campo]) especifica lo que verán los usuarios si la condición es true: las fechas del campo. El tercer argumento ("Fecha posterior al 1 de abril de 2003")) especifica el mensaje que los usuarios verán si los datos no cumplen la condición.

Cuando proceda, recuerde que no todas las expresiones condicionales usan la función SiInm. Además, recuerde que la función SiInm es la parte de la expresión, y no la propia expresión, la que requiere los argumentos.

Para obtener más información sobre las expresiones y las formas de usarlas, vea el artículo Crear una expresión.

Volver al principio

Ejemplos de expresiones condicionales

Las expresiones que figuran en la siguiente tabla muestran algunas formas de calcular valores true y false. Estas expresiones usan la función SiInm para determinar si una condición es true o false y, a continuación, devuelven un valor si la condición es true y otro valor si es false.

Vea el artículo SiInm (función) para obtener más información.

EXPRESIÓN DESCRIPCIÓN

=SiInm([Confirmado] = "Sí", "Pedido confirmado", "Pedido no confirmado")

Muestra el mensaje "Pedido confirmado" si el valor del campo Confirmado es Sí; en caso contrario, muestra el mensaje "Pedido no confirmado".

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

Muestra una cadena vacía si el valor del campo País o región es Nulo; en caso contrario, muestra el valor del campo País o región.

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

Muestra los valores de los campos Ciudad y CódigoPostal si el valor del campo Región es Nulo; en caso contrario, muestra los valores de los campos Ciudad, Región y CódigoPostal.

=SiInm(EsNulo([FechaRequerida] - [FechaEnvío]), "Comprobar si falta una fecha", [FechaRequerida] - [FechaEnvío])

Muestra el mensaje "Comprobar si falta una fecha" si el resultado de restar el valor del campo FechaEnvío del valor del campo FechaRequerida es Nulo; en caso contrario, muestra la diferencia entre los valores de los campos FechaRequerida y FechaEnvío.