¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo manejar cadenas con símbolos especiales en VB6 para reportes: Guía paso a paso

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 32 Vistas
0
Cargando...

Tengo un problema, quiero hacer algo de cadena a través de VB6 (text1.text) para enviar a myreport.rpt (@vb6field)

Verifiqué el .rpt que @vb6field = (17)

parece estar bien, (cadena vb6 "appLE" -> report.rpt @vb6field = "appLE"

pero en vb6 (text1.text) hay algo de cadena con símbolos ~'%^&*, cuando se envía a report.rpt, dice ERROR.

¿Es un problema del report.rpt?

Creo que puedo hacer una función antes de "appLE" -> "97;112;112;76;69;"

pero en report.rpt, @vb6field

¿cómo decodificar ese ascii?

report.DiscardSavedData 'LIMPIA EL REPORTE PARA TRABAJAR DESDE EL CONJUNTO DE REGISTROS

report.Database.SetDataSource objRs 'VINCULAR EL REPORTE AL CONJUNTO DE REGISTROS

report.FormulaFields(17).Text = "'" & "cadena vb6" & "'"

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

4 Respuestas

0
Cargando...

Deberías publicar en

es para .net pero está más cerca que este foro.

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

Hola,

¿Cómo estás construyendo la cadena?

Si abres el informe en Crystal y en la fórmula @vb6field ingresas:

"97;112;112;76;69;";

¿Funciona esto o también te da un error?

Recuerda que caracteres como ";" están reservados en el lenguaje de fórmulas de Crystal. Cuando pases la cadena, debe tener comillas alrededor o Crystal intentará evaluar la cadena como una fórmula, no como texto.

Además, haz que tu aplicación devuelva el error de Crystal. Eso ayudará a ver por qué no le gusta tu cadena.

Buena suerte,

Brian

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

Estoy usando CRXIR2.

Por cierto, si esa cadena es ascii (A-Z, a-z, 0-9), está bien enviar esa cadena a report.rpt.

Pero, algunos símbolos como ' o vbcrlf o unicode, fallan. Dice: "No se encuentra este '"

En VB6 estoy usando Text1.Text, MultiLine=True.

O podrías ayudarme, si en VB6 text1.text esa cadena es "appLE" ->, pero a través de una función de vb6 (codificar esa cadena a ascii "97;112;112;76;69;") y enviar ese ascii "97;112;112;76;69;" a report.rpt.

En report.rpt @vb6field, ¿cómo decodificarlo o hacer alguna fórmula X+1, y cambiarlo de nuevo a "appLE"?

¡Cualquier idea, por favor!

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

Hola,

¿Qué versión de Crystal estás utilizando?

En el informe, ¿cuál es la fórmula en @vb6field? Si esta fórmula está vacía, simplemente pon una cadena vacía en ella como:

" ";

Esto asegurará que esté listo para aceptar una cadena y no un tipo de dato diferente.

¿Cómo estás construyendo la cadena desde tu aplicación VB6? ¿Es directamente desde un cuadro de texto que el usuario está ingresando o estás tomando ese valor del cuadro de texto y editándolo antes de enviarlo al informe?

He pasado caracteres ASCII a una fórmula sin problemas. Dado que tu código funciona bien al pasar una cadena con caracteres alfanuméricos regulares, tengo la sensación de que si simplemente estableces tu fórmula en Crystal como una cadena vacía, debería solucionar el problema.

Algo más a tener en cuenta, en lugar de una fórmula, ¿qué tal si pasas tu cadena a un parámetro en el informe? Puede ser un poco menos complicado.

Buena suerte,

Brian

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?