![]() |
Campo numerico como texto en Excell Conection
Hola amigos , de vuelta con los campos de edicion.
Os explico, intento leer datos de una hoja de excell y modificar algun campo. El caso es que lo intento hacer como en el ejemplo del power. Leo el campo en la hoja de texto y lo muevo hacia una tabla. Código COBOL:
Si introduzco un numero entero, lo graba con formato numerico y calcula correctamente. En cambio si introduzco un numero decimal con coma, la hoja lo interpreta como texto y no calcula. Si lo introduzco con punto decimal, lo graba como numero y funciona. En cambio cuando vuelvo a importar el dato al programa y lo salvo sin modificar, en la hoja aparece como texto y no lo calcula. He probado dejarlo en un pow-numeric antes de pasarlo a la hoja de excell , pero se comporta de la misma manera. Alguna sugerencia ? Saludos . |
Breew, prueba con float, es decir:
Código COBOL:
No he usado nunca este control, pero comprueba tambien si tiene propiedad "Numeric": Código COBOL:
Pero si la tiene, sono haz MOVE de/a variables WORKING numericas. |
Y sobre todo, asegúrate que en ese control, o en todo el proyecto, tienes definido
Código COBOL:
Un saludo.- |
Hola.
Estupendo, he probado con float y funciona perfecto, aunque no entiendo el motivo ;-). Tambien he hecho pruebas con la propiedad numeric y tambien funciona, eso si , como dices de numeric a numeric, ya que si no mete ceros en todos los campos . :silba: Deberia investigar las propiedades de cada comando, pero no se por donde comenzar. Muchas gracias por vuestra ayuda. Saludos .:beber: |
A ver Brew, POW-NUMERIC y POW-TEXT, existen sobre todo por retrocompatibilidad con versiones anteriores, en las versiones nuevas, pusieron el "Text" para facilitar el movimiento de variables, pero más de una vez, cuando mueves una variable numérica con MOVE "Text" OF ..., te mueve también basura. Si quieres que lo que se mueva sea de verdad números y no tener problemas, hazlo con MOVE POW-NUMERIC OF ..., también está su versión para texto que es POW-TEXT, con un máximo de X(256), POW-MULTITEXT que es X(4092) y POW-MULTITEXT8 que es X(8192)
Y la mejor manera de saber que hace cada propiedad es probando y, ante la duda, consultar por aquí Un saludo.- |
Hola Josber.
Tomo nota de estas propiedades, que poco a poco me vais descubriendo. Hace poco que Roger me aconsejo el Power (la verdad es que estoy encantado), anteriormente cuando hacia alguna cosa lo hacia con Rmcobol y el cambio es bastante brusco. Gracias a vosotros voy prosperando , pero por desgracia, cada avance es un mar de incognitas. Paciencia conmigo. Saludos . |
Breew, no te preocupes. Parece dificil al principio pero cuanto mas aprendas mas facil sera y realmente es un entorno muy comodo.
En cuanto a tu pregunta del por que sobre el campo de tipo Float: los campos propios de COBOL no son "nativos" Win32, sino arrays de Char. Entre ellos los campos decimales (incluso los empaquetados COMP-3). Los tipos "nativos" serian, nombres dependiendo del lenguaje:
Hay byte tambien pero no nos interesa. PowerCOBOL tiene equivalentes a esos campos estandar Win32, y siempre que tratemos controles Win32, hay que usar campos estandar. |
Cita:
Que tiempos aquellos en los que programaba con RM, hacías lo que querías con el programa y, lo más importante, el programa hacía lo que querías, no serían tan bonitos como los de ahora, pero eran robustos como ellos solos ... :llora: :llora: Ya sabes, mientras podamos, estamos aquí para lo que necesites Un saludo.- |
| La franja horaria es GMT +2. Ahora son las 14:39. |
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.