Como separar en dos columnas cuando hago una consulta en access los datos de un campo dependiendo de la terminación de este.

Este mismo campo tiene dos terminaciones diferentes y lo que quiero conseguir es que dependiendo si termina en "-com" o "-r" los separe en dos columnas diferentes.

1 respuesta

Respuesta
1

En el diseño de tu consulta creas un nuevo campo con esta fórmula:

Campo1: SiInm(Right([NombreCampo];3)="com";[NombreCampo];"")

Donde Campo1 será el nombre que le quieras dar al campo resultante (los que acaben en -com) y NombreCampo el nombre del campo de tu tabla que tiene los datos.

Luego, creas otro con esta otra fórmula, para los que acaben en r:

Campo2: SiInm(Right([NombreCampo];1)="r";[NombreCampo];"")

Ya me dirás si era lo que querías.

Ok, muchísimas gracias!!!!!!!

Y si en lugar de terminar contiene esa palabra, como se haría????

Gracias de nuevo!!!!

´Pues tendrías que usar la función InStr() para comprobar que contiene la palabra, en vez de la función Right().

Y Si quieres las que empiecen por ..., has de usar la función Left()

De nuevo muchísimas gracias!!!

Con Right y Left me funciona ok pero com InStr no, y no entiendo por que:

Expr1: SiInm(EnCad([DOCUMENT_NUMBER-COM];3)="COM";([DOCUMENT_NUMBER-COM]);(""))

InStr funciona un poco distinto (https://msdn.microsoft.com/es-es/library/8460tsh1(v=vs.90).aspx )

Lo que devuelve la función es el número de posición inicial donde se encuentra la coincidencia, y para eso debes pasarle como parámetros dos cadenas de texto, la primera es donde vas a buscar, y la segunda lo que vas a buscar. Si no hay coincidencias devuelve 0.

Por ejemplo, si quieres buscar si tu campo contiene "com", sería así:

SiInm(EnCad([NombreCampo];"com")<>0;[NombreCampo];"")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas