FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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 From CORTE CO, TICKET__RELACION_IA T , empresa e , cliente c , TARJETA_CLIENTE TC Where CO.ID_CORTE = T.ID_CORTE and t.id_empresa = e.ID_EMPRESA AND CO.ID_ESTACION = E.ID_EMPRESA and t.id_cliente = c.ID_CLIENTE AND T.ID_TARJETA = TC.ID_TARJETA Group by e.id_empresa, e.nombre, 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. |
#2
|
||||
|
||||
¡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. |
#3
|
|||
|
|||
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? |
#4
|
||||
|
||||
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. |
#5
|
|||
|
|||
Sigue marcando lo mismo
Al González
¿Como lo supiste? 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 , 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 From CORTE CO, TICKET__RELACION_IA T, empresa e , cliente c , TARJETA_CLIENTE TC Where CO.ID_CORTE = T.ID_CORTE and t.id_empresa = e.ID_EMPRESA AND CO.ID_ESTACION = E.ID_EMPRESA and t.id_cliente = c.ID_CLIENTE AND T.ID_TARJETA = TC.ID_TARJETA Group by e.id_empresa, e.nombre, 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 |
#6
|
||||
|
||||
¡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) . Por cierto, Contraveneno, un conocido y amigable participante de estos foros, también vive ahí. Un abrazo lagunero. Al González. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Funcion de Que Retorna una Cadena | Abel Garcia | Firebird e Interbase | 4 | 23-07-2005 10:30:02 |
Problema: Un tipo LONGBLOB me regresa sólo 32,769 bytes | molarte | MySQL | 4 | 08-02-2005 19:19:59 |
SQLClientDataSet no regresa lo esperado | EITB | OOP | 2 | 27-09-2004 18:45:25 |
[Europa - Patentes de SW]: el peligro regresa ... | kinobi | Noticias | 16 | 19-05-2004 13:32:33 |
Buscar cadena dentro de otra cadena | doverzhoff | Varios | 4 | 27-01-2004 05:27:15 |
|