Avalados por :

Convertir número de serie alfanumérico a texto en Crystal Reports: ¿Cómo lograrlo?

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Loading...

Hola a todos,

Yo de nuevo con una duda,

Tengo el campo número de serie del artículo, este es un campo alfanumérico. Necesito ponerlo en mi formato de Crystal Reports, pero necesito que los números que contiene mi número de serie me los convierta a texto.

Por ejemplo:

Si mi número de serie es AD654HG87D9

Necesito mostrarlo: A D SEIS CINCO CUATRO H G OCHO SIETE D NUEVE

Sé que necesito una función que recorra mi campo para ir localizando si es número o letra, pero de las funciones que he encontrado solo funcionan con campos enteros.

¿Alguien ha hecho esto o sabe qué función podría servirme?

Saludos y de antemano gracias.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Loading...

Hola Luna

Haz intentado con la función "InStr"

Acción

La función InStr devuelve la posición de la primera ocurrencia de una cadena de caracteres dentro de otra. Esta posición es un índice basado en 1 de los caracteres en la cadena1. Si cadena2 no se encuentra en cadena1, la función InStr devuelve 0. El argumento inicio define la posición de comienzo para la búsqueda. Si no se utiliza el argumento comparar, la comparación de cadenas distinguirá mayúsculas de minúsculas.

Uso(s) típico(s)

Utilice esta función para determinar si una cadena contiene a otra.

Ejemplos

Los siguientes ejemplos son aplicables tanto a sintaxis Basic como Crystal:

InStr("abcdefg", "bcd")

Devuelve 2.

InStr(3, "abcdefg", "cde")

Devuelve 3.

InStr("KarenJudith","karen",1)

Devuelve 1. Observe que, dado que el argumento comparar es igual a 1, la comparación no distinguió mayúsculas de minúsculas.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Loading...

¡Hola, Luna!

Existe la función TOWORDS que convierte a letras el número que se le indique. Si tus números de serie tienen una longitud fija, podrías crear una fórmula que recorra cada letra con un bucle while o for, y cuando encuentre un carácter numérico, aplique la función TOWORDS.

Otra opción es utilizar la función MID (similar al substring en SQL) para cada posición de tu cadena de números de serie, y con un IF evaluar si se aplica la función TOWORDS (por ejemplo, si tus números de serie son de 10 posiciones, usarías la función MID 10 veces con el IF correspondiente).

Ejemplo:

(Si Mid(campo,1, 1) >= 0 entonces TOWORDS(Mid(campo1,1) else Mid(campo,1,1))

+

(Si Mid(campo,2, 1) >= 0 entonces TOWORDS(Mid(campo2,1) else Mid(campo, 2,1))

+

........


Esta sería la forma larga si no usas un bucle while.

Te recomiendo consultar la ayuda de Crystal para obtener más información sobre las funciones TOWORDS y MID.

Como mencioné, todo depende de si tienes una nomenclatura específica para tus números de serie.

¡Saludos y buena suerte!

JC.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?