Como separar cadena de texto dividido por signo "_" en una consulta

Tengo una consulta en la cual tengo la columna [FACTURA], donde tengo la cadenas de texto DFI126238_23012020085944_

Lo que estoy buscando es que en la columna [A] me traiga la cadena DFI126238 y en la columna [B] la cadena 23012020085944

Para la columna [A]

El problema que tengo es que cuando en la columna [FACTURA] tengo la palabra "NO Existe", me da como resultado #¡Funcion!, lo cual me gustaria reemplazar por la palabra "No Existe" o simplemente que quede en blanco

A: Izq([FACTURA],EnCad([FACTURA],"_")-1)

Para la columna [B]

El problema que tengo es que no se como definir el final de mi cadena, el cual seria el segundo signo "_" de mi cadena inicial DFI126238_23012020085944_

B: Medio([FACTURA],EnCad([FACTURA],"_")+1,8)

Respuesta
1

Para la columna A (y para la B), puedes usar la función Siinm:

A: SiInm([Factura] LIKE "No existe *","No existe",Izq([FACTURA],EnCad([FACTURA],"_")-1))
o 
A: SiInm(EnCad([FACTURA],"_")=0,"No existe",Izq([FACTURA],EnCad([FACTURA],"_")-1))

Para la B, no te hace falta definir el final de la cadena, ya que por lo que entiendo, siempre acaba con el _. Entonces solo necesitas saber dónde está la primera _ y la longitud total de la cadena, y coger los caracteres de diferencia -1 por la derecha, tal que así:

B: Der([FACTURA],Longitud([FACTURA])-EnCad([FACTURA],"_")-1)

Perdón, que para la columna B te puse lo que no era...

Sería así:

B: Medio([FACTURA];EnCad([FACTURA];"_")+1;Longitud([FACTURA])-EnCad([FACTURA];"_")-1)

1 respuesta más de otro experto

Respuesta
2

Puedes hacerlo, por ejemplo, añadiendo a la consulta un campo C como puedes ver en la ventana de zoom, para quitarle lo de _ final

Luego le añadimos el campo A

y el campo B

De forma que cuando lo abres

El campo C no es necesario que sea visible, es sólo para que veas como trabaja.

Lo que no entiendo es que tenga que poner no existe, bastaría con poner "" o sea cadena vacía.

¡Gracias Icue!

Probé lo que me posteaste y he aprendido algo más el día de hoy.

Muchas gracias

¡Gracias! 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas