Se pueden usar expresiones para tareas muy diversas en Microsoft Access tales como realizar cálculos matemáticos, combinar o extraer texto o validar datos. En este artículo, se ofrece información general sobre las expresiones: cuándo usarlas, cuáles son las partes que las componen y cómo se comparan con fórmulas de Microsoft Excel.
En este artículo
Información general sobre las expresiones
Mírelo de esta forma: cuando quiera que Access haga algo, tendrá que hablar su idioma. Por ejemplo, imagine que quiere decirle a Access "Mira en el campo FechaDeNacimiento en la tabla Clientes y dime el año de nacimiento del cliente". Puede escribir esta expresión como:
DatePart("yyyy",[Customers]![BirthDate])
Esta expresión se compone de la función ParcFecha y dos valores de argumento: "yyyy" y [Customers]![BirthDate].
Examinemos la expresión con más detalle.
1 ParcFecha es una función que examina una fecha y devuelve una parte específica. En este caso, se usan los dos primeros argumentos.
2 El argumento de intervalo indica a Access qué parte de la fecha se va a devolver; en este caso, "yyyy" indica a Access que solo quiere la parte del año de la fecha devuelta.
3 El argumento de fecha indica a Access dónde debe buscar el valor de fecha; en este caso [Customers]![BirthDate] indica a Access que busque la fecha en el campo FechaDeNacimiento de la tabla Clientes.
Formas de usar expresiones
Puede usar expresiones para lo siguiente:
-
Calcular valores que no existen directamente en sus datos. Puede calcular valores en los campos de tablas y consultas, así como en los controles de formularios e informes.
-
Definir un valor predeterminado para un campo de tabla o un control de un formulario o informe. Estos valores predeterminados aparecen cada vez que se abre una tabla, un formulario o un informe.
-
Crear una regla de validación que determine los valores que los usuarios pueden especificar en un campo o control.
-
Definir criterios de consulta que limiten los resultados al subconjunto que quiera.
Calcular valores
Una de las formas más habituales de usar expresiones de Access es calcular valores que no existen directamente en los datos. Una columna de una tabla o consulta resultante de este cálculo se denomina campo calculado. Puede crear un campo calculado que combina dos o más campos de tabla. Por ejemplo, muchas tablas almacenan nombres y apellidos en campos separados. Si quiere combinar los nombres y apellidos y luego mostrarlos en un único campo, puede crear un campo calculado en la tabla o en una consulta:
[FirstName] & " " & [LastName].
En este caso, los signos de Y comercial (&) combinan el valor del campo FirstName, un carácter de espacio (un espacio entre comillas) y el valor del campo LastName.
Definir un valor predeterminado
También puede usar expresiones de Access para especificar un valor predeterminado para un campo de una tabla o para un control. Por ejemplo, para establecer el valor predeterminado para un campo de fecha en la fecha actual, en el cuadro de la propiedad ValorPredeterminado del campo, escriba lo siguiente:
Date()
Crear una regla de validación
Además, puede usar una expresión para establecer una regla de validación. Por ejemplo, puede usar una regla de validación de un campo de control o tabla para exigir que la fecha que se indique sea mayor o igual a la fecha actual. En ese caso, establezca el valor del cuadro de la propiedad ReglaDeValidación en lo siguiente:
>= Date()
Definir criterios de consulta
Por último, puede usar una expresión para establecer los criterios de una consulta. Por ejemplo, supongamos que desea ver ventas de producto de las órdenes que incluían un lapso de tiempo determinado. Puede especificar criterios para definir un intervalo de fechas, y Access devolverá únicamente las filas que coincidan con los criterios. Por ejemplo, la expresión puede tener el siguiente aspecto:
Between #1/1/2017# And #12/31/2017#
Al agregar criterios a la consulta y ejecutar la consulta, solo se devuelven los valores que coinciden con las fechas especificadas.
Ejemplos de expresiones
En la tabla siguiente se muestran algunas expresiones de Access y su modo de uso:
Expresión |
Finalidad |
---|---|
=[RequiredDate]-[ShippedDate] |
Calcula la diferencia entre los valores de fecha en dos controles de cuadro de texto (denominados FechaObligatoria y FechaDeEnvío) en un informe. |
Date() |
Establece el valor predeterminado de un campo de tabla de fecha y hora en la fecha actual. |
Between #1/1/2017# And #12/31/2017# |
Especifica criterios para un campo de fecha y hora en una consulta. |
=[Orders Subform].Form!OrderSubtotal |
Devuelve el valor del control SubtotalDePedido en el subformulario Pedidos que se encuentra en el formulario Pedidos. |
>0 |
Establece una regla de validación para un campo numérico de una tabla; los usuarios deben especificar valores mayores que cero. |
Algunas expresiones comienzan con el operador igual (=), pero otros no. Al calcular un valor para el control de un formulario o un informe, use el operador = para iniciar la expresión. En otros casos, como cuando escribe una expresión en una consulta o en la propiedad DefaultValue o ValidationRule de un campo o control, no debe utilizar el operador = a menos que esté agregando la expresión a un campo de texto en una tabla. En algunos casos, como cuando se agregan las expresiones a las consultas, Access elimina el operador = automáticamente.
Componentes de expresiones
Una expresión consiste en varios componentes posibles que puede usar, de forma individual o en conjunto, para generar un resultado. Entre estos componentes se incluyen:
-
Identificadores Nombres de campos de tabla o controles de formularios o informes, o bien las propiedades de esos campos o controles.
-
Operadores Por ejemplo, + (signo más) o - (signo menos).
-
Funciones Por ejemplo, SUMA o PROM.
-
Constantes Valores que no cambian tales como cadenas de texto y números que no se calculan con una expresión.
-
Valores Cadenas como "Escriba un número entre 1 y 10" o números como 1254, que se usan en operaciones.
En las siguientes secciones, se describen estos componentes con mayor detalle.
Identificadores
Un identificador es el nombre de un campo, propiedad o control. Use un identificador en una expresión para hacer referencia al valor que está asociado a un campo, una propiedad o un control. Por ejemplo, considere la expresión =[RequiredDate]-[ShippedDate]. Esta expresión resta el valor del campo ShippedDate o el control del valor del campo o control RequiredDate. En esta expresión, tanto RequiredDate como ShippedDate funcionan como identificadores.
Operadores
Access es compatible con diversos operadores, incluidos los operadores aritméticos comunes tales como +, -, * (multiplicar) y / (dividir). También puede utilizar operadores de comparación como < (menor que) o > (mayor que) para comparar valores, operadores de texto como & y + para concatenar (combinar) texto, operadores lógicos tales como Not y And para determinar valores verdaderos o falsos, y otros operadores específicos de Access.
Funciones
Las funciones son procedimientos integrados que puede usar en las expresiones. Puede usarlas para operaciones muy diversas tales como calcular valores, manipular texto y fechas y resumir datos. Por ejemplo, una función muy utilizada es FECHA, que devuelve la fecha actual. Puede usar la función FECHA de varias formas, como, por ejemplo, en una expresión que establece el valor predeterminado de un campo de una tabla. En este ejemplo, siempre que alguien agrega un nuevo registro, el valor del campo se establece de forma predeterminada en la fecha actual.
Algunas funciones requieren argumentos. Un argumento es un valor que proporciona una entrada para la función. Si una función requiere más de un argumento, debe separar los argumentos con una coma. Por ejemplo, considere la función FECHA en la siguiente expresión de ejemplo:
=Format(Date(),"mmmm d, yyyy")
En este ejemplo, se usan dos argumentos.
-
El primero es la función Date(), que devuelve la fecha actual. Tiene que agregar los paréntesis de la función aunque no haya argumentos.
-
El segundo argumento es "mmmm d, yyyy", que está separado del primer argumento por una coma, especifica una cadena de texto que indica a la función FORMATO cómo dar formato al valor de fecha devuelto. Tenga en cuenta que la cadena de texto debe ir entre comillas.
Esta expresión también muestra que a menudo se puede anidar el valor devuelto por una función como argumento de otra función. En este caso, Date() se comporta como un argumento.
Constantes
Una constante es un elemento cuyo valor no cambia mientras se ejecuta Access. Las constantes True, False y Null se usan con frecuencia en expresiones.
Valores
Puede utilizar los valores literales en las expresiones, como por ejemplo, el número 1.254 o la cadena "Introduzca un número entre 1 y 10". También puede usar valores numéricos, que pueden ser una serie de dígitos, incluidos un signo y un separador decimal si es necesario.
Cuando use valores de cadena de texto, insértelos entre comillas para garantizar que Access los interprete correctamente. En algunas circunstancias, Access suministrará las comillas automáticamente. Por ejemplo, cuando se escribe texto en una expresión para una regla de validación o para criterios de consulta, Access delimita automáticamente las cadenas de texto con comillas.
Para utilizar los valores de fecha y hora, escriba los valores entre signos de almohadilla (#). Por ejemplo, #3-7-17#, #7-Mar-17# y #Mar-7-2017# son todos valores de fecha y hora válidos. Cuando Access encuentra un valor de fecha y hora válido entre caracteres #, trata automáticamente el valor como datos de tipo Fecha y hora.
Comparación entre las expresiones de Access y las fórmulas de Excel
Las expresiones de Access son similares a las fórmulas de Excel en el sentido de que ambas usan elementos similares para producir un resultado. Tanto las fórmulas de Excel como las de Access contienen una o varias de los siguientes elementos:
-
Identificadores En Excel, los identificadores son los nombres de celdas individuales o rangos de celdas de un libro, como A1, B3:C6 u Hoja2!C32. En Access, los identificadores son los nombres de campos de tabla (como [Contacts]![First Name]), controles de formularios o informes (como Forms![Task List]![Description]) o las propiedades de esos campos o controles (como Forms![Task List]![Description].ColumnWidth).
-
Operadores En Access y Excel, los operadores se usan para comparar valores o para realizar cálculos sencillos en los datos. Entre los ejemplos se incluyen + (signo más) o - (signo menos).
-
Funciones En Access y Excel, las funciones y los argumentos se usan para realizar tareas que no se pueden hacer únicamente con operadores; por ejemplo, puede buscar el promedio de los valores de un campo o convertir el resultado de un cálculo en un formato de moneda. Entre los ejemplos de funciones se incluyen SUMA y DESVEST. Los argumentos son valores que proporcionan información a las funciones. Tenga en cuenta que Access y Excel tienen ambos muchas funciones entre las que elegir, pero los nombres de funciones similares a veces son diferentes en los programas. Por ejemplo, la función PROMEDIO en Excel corresponde a la función PROM en Access.
-
Constantes En Access y Excel, las constantes son valores que no cambian, como números que no se calculan con una expresión.
-
Valores En Access y Excel, los valores se usan de forma similar.
Las expresiones de Access utilizan operadores y constantes que son similares a los utilizados en las fórmulas de Excel, pero las expresiones de Access usan identificadores y funciones diferentes. Mientras que las fórmulas de Excel suelen utilizar sólo en las celdas de la hoja de cálculo, las expresiones de Access se utilizan en muchos puntos de Access para una amplia variedad de tareas, incluidas las siguientes:
-
Crear controles calculados en los formularios e informes
-
Crear campos calculados en tablas y consultas
-
Servir como criterio de consulta
-
Validar los datos que se especifican en un campo, o bien en un control en un formulario
-
Agrupar los datos en informes
Puede usar una expresión de Access o una fórmula de Excel para calcular valores numéricos o de fecha y hora mediante operadores matemáticos. Por ejemplo, para calcular un precio reducido para un cliente, puede usar la fórmula =C2 * (1-D2) de Excel o la expresión = [Unit Price]*(1-[Discount]) de Access.
También puede usar una expresión de Access o una fórmula de Excel para combinar, dividir o manipular cadenas mediante operadores de cadena. Por ejemplo, para combinar un nombre y unos apellidos en una cadena, puede usar la fórmula =D3 & " " & D4 de Excel o la expresión = [First Name] & " " & [Last Name] de Access.