Con las funciones de cadena, puede crear expresiones en Access que manipulan el 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 |
Función InStrhttps://msdn.microsoft.com/en-us/library/gg264811.aspx |
=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. En una aplicación de Access, debe usar el signo más (+).
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 casi en cualquier lugar en que quiera construir una expresión, generalmente está el botón Generar que se ve así:
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.
Mostrar el Generador de expresiones en una aplicación web de Access
-
Abra la aplicación web en Access. Si está en el explorador, haga clic en Configuración > Personalizar en Access.
-
Haga clic en una tabla en la columna izquierda, luego a la derecha de la lista de tablas, haga clic en un nombre de vista.
-
Haga clic en Editar, haga clic en un cuadro de texto y haga clic en el botón Datos que aparece junto al cuadro de texto.
-
Haga clic en el botón Generar
a la derecha de la lista desplegable 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.
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 enchufado la función InStr, que devuelve la posición del guion 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.
Para obtener más información sobre cómo usar funciones de cadenas, vea Cómo usar funciones de cadenas en sus consultas de SQL de Access.