![]() |
Funcion SUM me regresa una cadena
Hola a todos
Estoy haciendo un reporte que toma sus datos de la siguiente consulta Código:
Select sum(T.MONTO) , e.nombre as e_nombre , e.id_empresa as id_estacion , c.nombre as c_Nombre , c.ID_CLIENTE , tc.NUMERO_TARJETA , tc.ID_TARJETA , co.FECHA_HORA_INI, co.ID_CORTE, co.TURNO , t.CONSECUTIVO , t.ID_TICKET Pero sucede que cuando pongo una mascara al TQRDBText, me escribe el nombre del campo (ósea SUM). Entonces en la ventana de whatches vi que el valor que me regresaba en ese campo era una cadena, ejemplo; DataSet.FieldByName(‘SUM’).Value = ‘520.35’ Por lo anterior no puedo poner mascaras al TQRDBText que me muestra este campo y tampoco puedo hacer sumatoria de los resultados en un QRExpr Alguien me puede explicar por qué me regresa el valor del la sumatoria en cadena, y como puedo solucionarlo. De antemano gracias. |
¡Hola a todos!
Recuerda que Value es una propiedad Variant y por alguna razón está interpretando el valor como cadena en lugar de número flotante. En la lista de observaciones coloca las expresiones DataSet.FieldByName (‘SUM’).ClassName y DataSet.FieldByName (‘SUM’).DataType. Eso ayudará a saber qué tipo de dato esta resultando para esa columna de la consulta, lo cual nos dará más pistas. Un abrazo sumado. Al González. :) |
hola Al González
ya hice lo que me sugieres pero me muestra como resultado lo siguiente Cita:
Por favor tenme paciencia ¿Que más puedo hacer? |
Allow function calls
¡Hola Paty! (supongo que ese es tu nombre)
Cuando agregues la observación, utiliza la opción Allow function calls para que se muestre el valor de las expresiones que introduces. Desde luego, también es necesario que el programa se encuentre detenido en un punto donde dichas expresiones sean válidas. Espero esto sea de utilidad, seguimos en contacto. Un abrazo depurando. Al González. :) |
Sigue marcando lo mismo
Al González
¿Como lo supiste? :D bueno, ya hice lo que dijiste y el resultado fue el siguiente: Cita:
Código:
Select cast(sum(T.MONTO) as numero (12,2)) , e.nombre as e_nombre , |
¡Hola a todos!
Ah, el problema debe ser el tipo del campo TICKET__RELACION_IA.MONTO en la base de datos. Si ese campo es monetario, te sugiero que lo crees de tipo "Numeric (15, 4)" (numérico, precisión de 15, escala de 4); de esa manera no te dará problemas. Una observación: eso que llamas «casta» en realidad se conoce como molde de tipo o moldear. Cambiando de tema, veo que vives en Torreón. Tengo buenos recuerdos de cuando viví en aquella ciudad, especialmente del Paseo de La Rosita, Torreón Jardín y La Nive de Chepo. Lo único que no me gustaba era subirme a un taxi y que el conductor no supiera leer (me sucedió en 1997) :D. Por cierto, Contraveneno, un conocido y amigable participante de estos foros, también vive ahí. Un abrazo lagunero. Al González. :) |
Si esta declarado numeric
hola
Volviendo al tema del hilo, la declaración de la tabla es la siguiente: Código:
RECREATE TABLE TICKET__RELACION_IA el campo MONTO esta declarado como numerico, asi que sigo sin saber cual es le problema. Gracias por los saludos y por los conocimientos que compartes conmigo |
La franja horaria es GMT +2. Ahora son las 02:24:06. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi