Con las funciones de cadena, puede crear expresiones en Access que manipulan texto de varias maneras. Por ejemplo, puede querer mostrar solo parte de un número de serie de un formulario. O puede necesitar unir (concatenar) varias cadenas, como nombre y apellido. Si aún no está familiarizado con las expresiones, vea Crear una expresión.
Esta es una lista de algunas de las operaciones de cadena más comunes en Access y las funciones que usaría para realizarlas:
Para... |
Use… |
Por ejemplo… |
Resultados |
---|---|---|---|
Devolver caracteres del principio de una cadena |
=Izquierda([Númerodeserie],2) |
Si [Númerodeserie] es “CD234”, el resultado es “CD”. |
|
Devolver caracteres del final de una cadena |
=Derecha([Númerodeserie],3) |
Si [Númerodeserie] es “CD234”, el resultado es “234”. |
|
Buscar la posición de un carácter en una cadena |
=EnCad(1,[Nombre],"i") |
Si [Nombre] es “Colin”, el resultado es 4. |
|
Devolver caracteres del medio de una cadena |
=Medio([Númerodeserie],2,2) |
Si [Númerodeserie] es “CD234”, el resultado es “D2”. |
|
Recortar los espacios iniciales o finales de una cadena |
=Recortar([Nombre]) |
Si [Nombre] es “ Colin ”, el resultado es “Colin”. |
|
Unir dos cadenas |
Operador* signo más (+) |
=[Nombre] + [Apellido] |
Si [Nombre] es “Colin” y [Apellido] es Wilcox, el resultado es “ColinWilcox” |
Unir dos cadenas con un espacio entre ellas |
Operador* signo más (+) |
=[Nombre] + “ “ + [Apellido] |
Si [Nombre] es “Colin” y [Apellido] es Wilcox, el resultado es “Colin Wilcox” |
Cambiar una cadena a mayúsculas o minúsculas |
=Mayús([Nombre]) |
Si [Nombre] es “Colin”, el resultado es “COLIN”. |
|
Determinar la longitud de una cadena |
=Longitud([Nombre]) |
Si [Nombre] es “Colin”, el resultado es 5. |
* Bien, no es una función, es un operador. Sin embargo, es la forma más rápida para unir cadenas. En una base de datos de escritorio, también puede usar el operador ampersand (&) para concatenar.
Existen muchas más funciones relacionadas con texto en Access. Una buena forma de aprender más sobre ellas es abrir el Generador de expresiones y buscar en las listas de funciones. El Generador de expresiones está disponible prácticamente en cualquier lugar donde quiera crear una expresión; normalmente hay un pequeño botón Generar que tiene este aspecto:
Para hacer una demostración del Generador de expresión, abrámoslo desde la propiedad Origen del control en un formulario o vista. Use uno de los procedimientos siguientes en función de si usa una base de datos de escritorio o una aplicación web de Access.
Muestre el Generador de expresiones en una base de datos del escritorio
-
Abra una base de datos del escritorio (.accdb).
-
Presione F11 para abrir el Panel de navegación, si no está abierto.
-
Si ya tiene un formulario disponible, haga clic con el botón secundario en el Panel de navegación y haga clic en Vista presentación. Si no tiene un formulario con el que trabajar, haga clic en Crear > Formulario.
-
Haga clic con el botón secundario en un cuadro de texto del formulario y haga clic en Propiedades.
-
En la hoja de propiedades, haga clic en Todo > origen del control y haga clic en el botón Generar en el lado derecho del cuadro de propiedades Origen del control .
-
Bajo Elementos de expresión, expanda el nodo Funciones y haga clic en Funciones incorporadas.
-
Bajo Categorías de expresión, haga clic en Texto.
-
Bajo Valores de expresión, haga clic en las varias funciones y lea las breves descripciones del final del Generador de expresiones.
Nota: No todas estas funciones están disponibles en todos los contextos; Access filtra la lista automáticamente dependiendo de cuáles trabajan en cada contexto.
Combine funciones de texto para más flexibilidad
Algunas funciones de cadenas tienen argumentos numéricos que, en algunos casos, debe calcular cada vez que llama a la función. Por ejemplo, La función Izquierda toma una cadena y un número, como en =Izquierda(Númerodeserie, 2). Esto es genial si sabe que siempre necesita los dos caracteres de la izquierda, pero ¿qué pasa si el número de caracteres que necesita varía de elemento a elemento? En lugar de “incluir” el número de caracteres, puede especificar otra función que lo calcula.
Este es un ejemplo de número de serie que tiene un guión en alguna parte de la cadena. Sin embargo, la posición del guión varía:
Númerodeserie |
---|
3928-29993 |
23-9923 |
333-53234 |
3399940-444 |
Si solo desea mostrar los números a la izquierda del guión, tiene que hacer un cálculo cada vez que encuentra el guión. Una opción es hacer algo así:
=Izquierda([Númerodeserie],EnCad(1,[Númerodeserie],"-")-1)
En lugar de escribir un número como segundo argumento de la función Izquierda, hemos conectado la función EnStr, que devuelve la posición del guión en el número de serie. Reste 1 a ese valor y obtiene el número correcto de caracteres para que devuelva la función Izquierda. Parece algo complicado al principio, pero con un poco de práctica puede combinar dos o más expresiones para obtener los resultados que desea.