Guía de la sintaxis de expresiones

Cuando se usa Microsoft Access, encontrará situaciones en las que necesita trabajar con valores que no residen directamente en los datos. Por ejemplo, es posible que deba calcular el impuesto sobre las ventas en un pedido o el valor total del propio pedido. Puede calcular estos valores mediante expresiones.

Para usar expresiones, primero debe escribirlas usando la sintaxis adecuada. La sintaxis es el conjunto de reglas mediante las que se combinan correctamente las palabras y símbolos en una expresión.

Mírelo de esta forma: cuando quiera que Access haga algo, tendrá que hablar su idioma. Por ejemplo, suponga 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 ParcFecha("aaaa",[Clientes]![FechaDeNacimiento]). Esta expresión se compone de la función ParcFecha y dos valores de argumento, "aaaa" y [Clientes]![FechaDeNacimiento].

Examinemos esa expresión con más detalle.

Ejemplo de expresión

1. ParcFecha es una función que examina una fecha y devuelve una parte específica.

Sugerencia: Desde Access 2010, el Generador de expresiones tiene IntelliSense, para que pueda ver qué argumentos requiere la expresión.

2. El argumento de intervalo indica a Access qué parte de la fecha se va a devolver, en este caso, "aaaa" 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, [Clientes]! [FechaDeNacimiento] indica a Access que busque la fecha en el campo FechaDeNacimiento de la tabla Clientes.

Como puede ver, las expresiones de Access usan un idioma que, inicialmente, es un poco difícil de leer. Con un buen conocimiento de la sintaxis de expresiones y un poco de práctica, es mucho más fácil.

Hay algunos conceptos clave que debe saber antes de intentar escribir expresiones. En este artículo, se presentan los conceptos que debe entender para usar la sintaxis adecuada y se describe la sintaxis que se usa en las expresiones.

En este artículo, no se trata la sintaxis del Lenguaje de consulta estructurado (SQL), ni está pensado como guía de la sintaxis de Visual Basic para Aplicaciones (VBA).

En este artículo

Introducción

Objetos, colecciones y propiedades

Identificadores

Funciones, operadores y constantes

Introducción

Para crear 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 también puede contener constantes u operadores. También puede usar una expresión como parte de otra, normalmente como un argumento de una función.

  • Identificadores en expresiones    El formato general de un identificador en una expresión es [Nombre de la colección]![Nombre del objeto].[Nombre de la propiedad].

    Nota: Solo tiene que especificar los elementos suficientes de un identificador para que sea único en el contexto de la expresión. No es raro que un identificador adopte el formato [Nombre de objeto].

  • Funciones de expresiones    El formato general de una expresión que usa 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 concreta, revise el artículo correspondiente de la ayuda para obtener información específica sobre la sintaxis de la función.

  • Operadores en expresiones    El formato general de una expresión que usa un operador es Identificador operador identificador. Hay excepciones a este formato, como se describe en las tablas que se muestran en la sección Operadores.

  • Constantes en expresiones    El formato general de una expresión que usa una constante es Identificador operador_de_comparación constante.

Principio de página

Objetos, colecciones y propiedades

Todas las tablas, consultas, formularios, informes y campos en 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 en una base de datos creada a partir de la plantilla Contactos de Microsoft Office Access. Cuando se crea un objeto, se le asigna un nombre.

El conjunto de todos los miembros de un tipo de objeto determinado se denomina colección. Por ejemplo, el conjunto de todas las tablas en una base de datos es una colección. Algunos objetos que son miembros de una colección en la 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 del objeto. Por ejemplo, un objeto de consulta tiene una propiedad Vista predeterminada que describe y permite especificar cómo se mostrará la consulta cuando se ejecute.

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

Relaciones entre colecciones, objetos y propiedades

1. Una colección

2. Un objeto

3. Una propiedad

Principio de página

Identificadores

Cuando usa un objeto, colección o 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 y también 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. Un ejemplo de este tipo de identificador se encuentra en el ejemplo anterior de la expresión: [Clientes]![FechaDeNacimiento].

En algunos casos, el nombre de un elemento funcionará por sí mismo como identificador. Esto ocurre cuando el nombre del elemento es único en el contexto de la expresión que se está creando. El resto del identificador está implícito en el contexto. Por ejemplo, si está diseñando una consulta que solo usa una tabla, los nombres de campo funcionarán como identificadores, dado que los nombres de campo en una tabla deben ser únicos en esa tabla. Como solo se está usando una tabla, el nombre de la tabla está implícito en cualquier identificador que se use en la consulta para hacer referencia a un campo.

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

Operadores de identificador    Hay tres operadores que se pueden usar en un identificador.

  • El operador de signo de exclamación (!)

  • El operador de punto (.)

  • El operador de corchetes ([])

Para usar estos operadores se rodea cada elemento del identificador con corchetes y, después, se unen mediante un operador de signo de exclamación o de punto. Por ejemplo, un identificador de un campo denominado Apellidos en una tabla denominada Empleados se puede expresar 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 que precede al operador de signo de exclamación. En este caso, [Apellidos] es un objeto de campo que pertenece a la colección [Empleados], que por sí mismo es un objeto de la tabla.

Nota: En realidad, no siempre es necesario escribir un identificador o identificador parcial entre corchetes. Si no hay espacios u otros caracteres especiales en el identificador, Access agrega automáticamente los corchetes cuando lee la expresión. Pero es una práctica recomendada que escriba los corchetes; esto ayuda a evitar errores y también funciona como una pista visual de que una parte determinada de una expresión es un identificador.

Principio de página

Funciones, operadores y constantes

Para crear una expresión, necesita más que identificadores: debe realizar algún tipo de acción. Para realizar acciones en una expresión 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 necesitan ninguna entrada para funcionar. Pero la mayoría de funciones requieren una entrada, lo que se denomina argumentos. En el ejemplo al principio de este artículo, la función ParcFecha usa dos argumentos: un argumento de intervalo (con un valor de "aaaa") y un argumento de fecha (con un valor de [Clientes]![FechaDeNacimiento]). 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 se separan mediante comas.

En la lista siguiente, se muestran algunas funciones que se usan con frecuencia en expresiones. Haga clic en el vínculo de cada función para obtener más información sobre la sintaxis que se usa con esa función.

  • Fecha La función Fecha se usa para insertar la fecha actual del sistema en una expresión. Se usa generalmente junto con la función Formato y también junto con identificadores de campo para campos que contienen datos de fecha y hora.

  • ParcFecha La función ParcFecha se usa para determinar o extraer parte de una fecha, normalmente una fecha que se obtiene de un identificador de campo, pero a veces, un valor de fecha que se devuelve de otra función, como Fecha.

  • DifFecha La función DifFecha se usa para determinar la diferencia entre dos fechas, normalmente entre una fecha que se obtiene de un identificador de campo y otra que se obtiene mediante la función Fecha.

  • Formato La función Formato se usa para aplicar un formato a un identificador, así como para aplicar un formato a los resultados de otra función.

  • SiInm La función SiInm sirve para evaluar una expresión como verdadera o falsa, y después devolver un valor especificado si la expresión se evalúa como verdadera y otro valor especificado si se evalúa como falsa.

  • EnCad La función EnCad se usa para buscar la posición de un carácter o cadena dentro de otra cadena. La cadena que se busca normalmente se obtiene de un identificador de campo.

  • Izquierda, Medio y Derecha Estas funciones se usan para extraer los caracteres de una cadena, comenzando por el carácter del extremo izquierdo (Izquierda), una posición determinada en el medio (Medio) o por el carácter del extremo derecho (Derecha). Suelen usarse junto con la función EnCad. La cadena desde la que estas funciones extraen los caracteres suele obtenerse a partir de un identificador de campo.

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

Operadores

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

  • Aritméticos, como el signo más (+).

  • Operadores de comparación, como el signo igual (=).

  • Operadores lógicos, como No.

Los operadores se usan generalmente para indicar una relación entre dos identificadores. En las tablas siguientes, se describen los operadores que puede usar en expresiones de Access.

Operadores aritméticos   

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

Operador

Propósito

Ejemplo

+

Suma dos números.

[Subtotal]+[ImpuestoSobreVentas]

-

Busca la diferencia entre dos números o indica el valor negativo de un número.

[Precio]-[Descuento]

*

Multiplica dos números.

[Cantidad]*[Precio]

/

Divide el primer número entre el segundo.

[Total]/[RecuentoDeElementos]

\

Redondea ambos números a enteros, divide el primer número entre el segundo y, después, trunca el resultado a un entero.

[Registradas]\[Salas]

Resto

Divide el primer número entre el segundo y devuelve únicamente el resto.

[Registradas] Resto [Salas]

^

Eleva 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 devolver un resultado que sea verdadero, falso o nulo (un valor desconocido).

Operador

Propósito

<

Determina si el primer valor es menor que el segundo valor.

<=

Determina si el primer valor es menor o igual que el segundo valor.

>

Determina si el primer valor es mayor que el segundo valor.

>=

Determina si el primer valor es mayor o igual que el segundo valor.

=

Determinar si el primer valor es igual al segundo valor.

<>

Determina si el primer valor no es igual al segundo valor.

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

Operadores lógicos   

Los operadores lógicos se usan para combinar dos valores y devolver un resultado verdadero, falso o nulo. Es posible que también vea que los operadores lógicos se denominan operadores booleanos.

Operador

Uso

Descripción

Y

Expr1 Y Expr2

Verdadero cuando Expr1 y Expr2 son verdaderas.

O

Expr1 O Expr2

Verdadero cuando Expr1 o Expr2 es verdadera.

Eqv

Expr1 Eqv Expr2

Verdadero cuando tanto Expr1 como Expr2 son verdaderas, o cuando Expr1 y Expr2 son falsas.

No

No Expr

Verdadero cuando la expresión no es verdadera.

OEx

Expr1 OEx Expr2

Verdadero si Expr1 es verdadera o Expr2 s verdadera, pero no ambas.

Operadores de concatenación    

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

Operador

Uso

Descripción

&

cadena1 & cadena2

Combina dos cadenas para formar una.

+

cadena1 + cadena2

Combina dos cadenas para formar una sola cadena y propaga los valores nulos.

Operadores especiales    

Los operadores especiales se usan como se describe en la tabla siguiente.

Operador

Descripción

Para obtener más información

Is Null o Is Not Null

Determina si un valor es nulo o no nulo.

Como "patrón"

Compara valores de cadena mediante los operadores de comodín ? y *.

Operador Como

Entre valor1 Y valor2

Determina si un valor numérico o de fecha se encuentra dentro de un rango.

Operador Entre...Y (Between...And)

En(cadena1, cadena2...)

Determina si un valor de cadena está dentro de un conjunto de valores de cadena.

Operador En (In)

Constantes

Una constante es un valor conocido que no cambia y que se puede usar en una expresión. Hay cuatro constantes que se usan habitualmente en Access:

  • True    Indica algo que es lógicamente verdadero.

  • False    Indica algo que es lógicamente falso.

  • Null    Indica la falta de un valor conocido.

  • "" (cadena vacía)    Indica un valor que se sabe que está vacío.

Las constantes se pueden usar como argumentos de una función y en una expresión como parte de un criterio. Por ejemplo, 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 para esa columna, especificando el siguiente criterio: <>"". En este ejemplo, <> es un operador y "" es una constante. Si se usan de forma conjunta, indican que el identificador al que se aplican se debe comparar con una cadena vacía. La expresión resultante es verdadera si el valor del identificador es distinto de una cadena vacía.

Nota: Tenga cuidado al usar la constante Null. En la mayoría de los casos, usar Null junto con un operador de comparación producirá un error. Si quiere comparar un valor con Null en una expresión, use el operador Is Null o Is Not Null.

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

Principio de página

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×