Guía de la sintaxis de expresiones

Al usar Microsoft Office Access 2007, se encontrará con situaciones en las que necesite trabajar con valores que no residen directamente en los datos. Por ejemplo, puede que tenga que calcular el impuesto sobre las ventas de un pedido, o bien, el valor total del propio pedido. Estos valores pueden calcularse mediante expresiones.

Para usar expresiones, es preciso escribirlas primero usando la sintaxis correcta. La sintaxis es el conjunto de reglas por las que se combinan correctamente las palabras y los símbolos de una expresión.

Considérelo de la siguiente manera: cuando desee que Access haga algo, deberá hablar su idioma. Por ejemplo, supongamos que desea transmitir a Access que "mire el campo FechaNacimiento en la tabla Compradores e indique el año en que nació el cliente". Escribirá esta expresión: ParcFecha("aaaa",[Clientes]![FechaNacimiento]). Esta expresión se compone de la función ParcFecha y de dos valores de argumento: "aaaa" y [Clientes]![FechaNacimiento].

Examinemos esa expresión más detalladamente.

Ejemplo de expresión

Llamada 1 ParcFecha es una función que examina una fecha y devuelve una parte específica.
Llamada 2 El argumento intervalo indica a Access qué parte de la fecha se va a devolver; en este caso, "aaaa" indica a Access que debe devolverse únicamente la parte correspondiente al año.
Llamada 3 El argumento fecha indica a Access dónde debe buscar el valor de fecha; en este caso, [Clientes]![FechaNacimiento] indica a Access que busque la fecha en el campo FechaNacimiento de la tabla Compradores.

Como puede ver, las expresiones de Access usan un lenguaje que, al principio, resulta un tanto difícil de leer. Si comprende debidamente la sintaxis de las expresiones y ejercita un poco, todo será mucho más fácil.

Hay algunos conceptos clave que debe comprender antes de ponerse a escribir expresiones. En este artículo se describen los conceptos que debe comprender para poder usar una sintaxis correcta y se aborda la sintaxis que se usa en las expresiones.

En este artículo no se aborda la sintaxis del Lenguaje de consulta estructurado (SQL) ni se pretende ofrecer una guía de la sintaxis de Visual Basic para Aplicaciones (VBA).

En este artículo


Introducción

Para generar una expresión, se combinan identificadores mediante funciones, operadores y constantes. Cualquier expresión válida debe contener al menos una función o al menos un identificador, y puede contener además constantes u operadores. Una expresión puede usarse asimismo como parte de otra expresión; en este caso, se usa normalmente como argumento de una función.

  • Identificadores en expresiones    El formato general de un identificador en una expresión es [Nombre_de_colección]![Nombre_de_objeto].[Nombre_de_propiedad].

 Nota   Sólo deben especificarse esas partes del identificador de modo que sea único en el contexto de la expresión. No es raro que un identificador tenga la forma de [Nombre_de_objeto].

  • Funciones en expresiones    El formato general de una expresión con una función es Función(argumento, argumento), donde uno de los argumentos suele ser un identificador o una expresión.

 Nota   Algunas funciones no requieren argumentos.

Antes de usar una función, busque en el correspondiente artículo de la Ayuda información específica sobre la sintaxis de esa función.

  • Operadores en expresiones    El formato general de una expresión con un operador es Identificador operador identificador. Hay excepciones a este formato, tal y como se describe en las tablas de la sección Operadores.
  • Constantes en expresiones    El formato general de una expresión con una constante es Identificador operador_de_comparación constante.

Volver al principio Volver al principio

Objetos, colecciones y propiedades

Todos los formularios, informes, tablas, consultas y campos de una base de datos de Access se conocen individualmente como objetos. Cada objeto tiene un nombre. Algunos objetos ya tienen nombre, como la tabla Contactos de una base de datos creada a partir de la plantilla Contactos de Microsoft Office Access. Cuando se crea un nuevo objeto, se le asigna un nombre.

El conjunto de todos los miembros de un tipo concreto de objeto se conoce como colección. Por ejemplo, el conjunto de todas las tablas de una base de datos es una colección. Algunos objetos que son miembros de una colección de una base de datos también pueden ser colecciones que contienen otros objetos. Por ejemplo, un objeto de tabla es una colección que contiene objetos de campo.

Los objetos tienen propiedades, que describen y proporcionan una manera de cambiar las características de los objetos. Por ejemplo, un objeto de consulta tiene la propiedad Vista predeterminada que describe y permite especificar cómo la consulta va a aparecer cuando se ejecute.

En el siguiente diagrama se muestra la relación entre las colecciones, los objetos y las propiedades:


Relaciones entre colecciones, objetos y propiedades

Llamada 1 Una colección
Llamada 2 Un objeto
Llamada 3 Una propiedad

Volver al principio Volver al principio

Identificadores

Cuando se usa un objeto, una colección o una propiedad en una expresión, se hace referencia a ese elemento mediante un identificador. Un identificador incluye el nombre del elemento que se está identificando así como el nombre del elemento al que pertenece. Por ejemplo, el identificador de un campo incluye el nombre del campo y el nombre de la tabla a la que pertenece el campo. El anterior ejemplo de expresión incluye un ejemplo de un identificador: [Clientes]![FechaNacimiento].

En algunos casos, el nombre de un elemento funciona por sí mismo como identificador. Éste es el caso cuando el nombre del elemento es único en el contexto de la expresión que se está creando. El resto del identificador lo indica el contexto. Por ejemplo, si se diseña una consulta que use sólo una tabla, los nombres de los campos funcionarán por sí solos como identificadores porque los nombres de campo en una tabla deben ser únicos en esa tabla. Dado que se usa sólo una tabla, el nombre de la tabla viene implícito en cualquier identificador que se use en la consulta para hacer referencia a un campo.

En otros casos, se deben indicar explícitamente las partes de un identificador para que funcionen las referencias. Éste es el caso cuando un identificador no es único en el contexto de la expresión. Cuando hay ambigüedad, se deben especificar explícitamente suficientes partes del identificador de modo que sea único en el contexto. Por ejemplo, supongamos que está diseñando una consulta que use una tabla denominada Productos y otra tabla denominada Pedidos, y que ambas tablas tienen un campo denominado IdProducto. En este caso, el identificador usado en la consulta para hacer referencia a cualquiera de los campos IdProducto debe incluir el nombre de la tabla además del nombre del campo; por ejemplo, [Productos]![IdProducto].

Operadores de identificadores    En un identificador se pueden usar tres operadores.

  • Operador de signo de exclamación (!)
  • Operador de punto (.)
  • Operador de corchetes ([ ])

Estos operadores se usan colocando cada parte del identificador entre corchetes y uniéndolas mediante un operador de signo de exclamación o de punto. Por ejemplo, el identificador de un campo denominado Apellidos en una tabla denominada Empleados puede expresarse como [Empleados]![Apellidos]. El operador de signo de exclamación indica a Access que lo que sigue es un objeto que pertenece a la colección especificada delante del operador de signo de exclamación. En este caso, [Apellidos] es un objeto de campo que pertenece a la colección [Empleados], que a su vez es un objeto de tabla.

 Nota   En términos estrictos, los identificadores o identificadores parciales no siempre deben colocarse entre corchetes. Si el identificador no incluye espacios u otros caracteres especiales, Access agrega automáticamente los corchetes cuando lee la expresión. No obstante, se recomienda escribir los corchetes ya que ayudan a evitar errores y son una pista visual de que una parte determinada de una expresión es un identificador.

Volver al principio Volver al principio

Funciones, operadores y constantes

Para crear una expresión, se necesita algo más que identificadores: es preciso que se realice algún tipo de acción. Para realizar acciones en las expresiones, se usan funciones, operadores y constantes. 

Funciones

Una función es un procedimiento que se puede usar en una expresión. Algunas funciones, como Fecha, no requieren datos especificados por el usuario para funcionar. La mayoría de las funciones, sin embargo, sí requiere esos datos denominados argumentos. En el ejemplo que figura al principio de este artículo, la función ParcFecha tiene dos argumentos: el argumento intervalo (con un valor de "aaaa") y el argumento fecha (con un valor de [Clientes]![FechaNacimiento]). La función ParcFecha requiere al menos estos dos argumentos (intervalo y fecha), pero puede aceptar hasta cuatro argumentos.

 Nota   Cuando una función tiene más de un argumento, esos argumentos vienen separados por comas.

En la siguiente lista se muestran algunas funciones que suelen usarse en las expresiones. Haga clic en el vínculo de cada función para obtener más información sobre su sintaxis.

  • Fecha La función Fecha se usa para insertar la actual fecha del sistema en una expresión. Se suele usar junto con la función Formato y se usa asimismo con los identificadores de los campos que contienen datos de fecha u hora.
  • ParcFecha La función ParcFecha se usa para determinar o extraer parte de una fecha; suele ser una fecha obtenida a partir de un identificador de campo, pero a veces se trata de un valor de fecha devuelto por otra función, como Fecha.
  • DifFecha La función DifFecha se usa para determinar la diferencia entre dos fechas, normalmente entre una fecha obtenida a partir de un identificador de campo y una fecha obtenida mediante la función Fecha.
  • Formato La función Formato se usa para aplicar un formato a un identificador y aplicar un formato a los resultados de otra función.
  • SiInm La función SiInm se usa para evaluar una expresión como true o false y, a continuación, devolver un valor especificado si la expresión es true y otro valor especificado si la expresión es false.
  • EnCad La función EnCad se usa para buscar la posición de un carácter o una cadena (cadena: colección de caracteres que pueden incluir números y texto.) dentro de otra cadena. La cadena en la que se busca suele obtenerse a partir de un identificador de campo.
  • Izq, Medio y Der Estas funciones se usan para extraer caracteres de una cadena, a partir del carácter situado más a la izquierda (Izq), una posición específica en el medio (Medio) o el carácter situado más a la derecha (Der). Suelen usarse junto con la función EnCad. La cadena de la que estas funciones extraen caracteres suele obtenerse a partir de un identificador de campo.

Para obtener una lista de las funciones por categoría, vea el artículo Funciones (organizadas por categoría).

Operadores

Un operador es una palabra o un símbolo que indica una relación aritmética o lógica específica entre los otros elementos de una expresión. Los operadores pueden ser:

  • Aritméticos, como el signo más (+).
  • Operadores de comparación, como el signo de igualdad (=).
  • Operadores lógicos, como No.

Los operadores suelen usarse para indicar una relación entre dos identificadores. En las siguientes tablas se describen los operadores que se pueden usar en las expresiones de Access.

Operadores aritméticos    

Los operadores aritméticos se usan para calcular un valor a partir de dos o más números, o bien, para cambiar el signo de un número de positivo a negativo.

Operador Finalidad Ejemplo
+ Sumar dos números. [Subtotal]+[Impuesto sobre las ventas]
- Buscar la diferencia entre dos números o indicar el valor negativo de un número. [Precio]-[Descuento]
* Multiplicar dos números. [Cantidad]*[Precio]
/ Dividir el primer número entre el segundo número. [Total]/[Número_de_elementos]
\ Redondear ambos números a enteros, dividir el primer número entre el segundo número y, a continuación, truncar el resultado en un entero. [Registros]\[Habitaciones]
Residuo Dividir el primer número entre el segundo número y devolver sólo el resto. [Registros] Residuo [Habitaciones]
^ Elevar un número a la potencia de un exponente. Número ^ Exponente

Operadores de comparación    

Los operadores de comparación se usan para comparar valores y devuelven True, False o Nulo (valor desconocido).

Operador Finalidad
< Determinar si el primer valor es menor que el segundo valor.
<= Determinar si el primer valor es menor o igual que el segundo valor.
> Determinar si el primer valor es mayor que el segundo valor.
>= Determinar si el primer valor es mayor o igual que el segundo valor.
= Determinar si el primer valor es igual que el segundo valor.
<> Determinar si el primer valor no es igual que el segundo valor.

En todos los casos, si el primer o segundo valor es Nulo, el resultado también será Nulo. Dado que Nulo representa un valor desconocido, el resultado de cualquier comparación con Nulo es también desconocido.

Operadores lógicos    

Los operadores lógicos se usan para combinar dos valores y devuelven True, False o Nulo. A los operadores lógicos también se les hace referencia con el término de operadores booleanos.

Operador Uso Descripción
Y Expr1 Y Expr2 Es True si Expr1 y Expr2 tienen el valor True.
O Expr1 O Expr2 Es True si Expr1 o Expr2 tiene el valor True.
Eqv Expr1 Eqv Expr2 Es True si tanto Expr1 como Expr2 tienen el valor True, o bien, si tanto Expr1 como Expr2 tienen el valor False.
No No Expr Es True si Expr no es True.
OEx Expr1 OEx Expr2 Es True si Expr1 es True o Expr2 es True, pero no ambos.

Operadores de concatenación    

Los operadores de concatenación se usan para combinar dos valores de texto en una sola cadena.

Operador Uso Descripción
& cadena1 & cadena2 Combina dos cadenas en una sola cadena.
+ cadena1 + cadena2 Combina dos cadenas en una sola cadena y propaga los valores nulos.

Operadores especiales    

Los operadores especiales se usan según lo descrito en la siguiente tabla.

Operador Descripción Para obtener más información
Es Nulo o No es Nulo Determina si un valor es Nulo o No es Nulo.
Como "modelo" Busca valores de cadena coincidentes mediante los operadores de caracteres comodín ? y *. Operador Como
Entre val1 Y val2 Determina si un valor numérico o de fecha pertenece a un intervalo. Operador Entre...Y
En(cadena1,cadena2...) Determina si un valor de cadena viene incluido en un conjunto de valores de cadena. Operador En

Constantes

Una constante es un valor conocido que no cambia y que se puede usar en una expresión. En Access se suelen usar las siguientes cuatro constantes:

  • True    Indica algo que es lógicamente verdadero.
  • False    Indica algo que es lógicamente falso.
  • Nulo    Indica la falta de un valor conocido.
  • "" (cadena vacía)    Indica un valor del que se sabe que está vacío.

Las constantes pueden usarse como argumentos de una función y pueden usarse en una expresión como parte de un criterio. Por ejemplo, se puede usar la constante de cadena vacía ("") como parte de un criterio de una columna en una consulta para evaluar los valores de campo de esa columna, especificando el siguiente criterio: <>"". En este ejemplo, <> es un operador y "" es una constante. Si se usan conjuntamente, indican que el identificador al que se aplican debe compararse con una cadena vacía. La expresión resultante es True si el valor del identificador es cualquier valor que no sea una cadena vacía.

 Nota   Tenga cuidado al usar la constante Nulo. En la mayoría de los casos, si se usa Nulo junto con un operador de comparación, se genera un error. Si desea comparar un valor con Nulo en una expresión, use el operador Es Nulo o No es Nulo.

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

Volver al principio Volver al principio

 
 
Corresponde a:
Access 2007