Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Problemas con QReport y componentes Zeos (https://www.clubdelphi.com/foros/showthread.php?t=91290)

adebonis 21-12-2016 11:36:40

Problemas con QReport y componentes Zeos
 
Buenos días.

Utilizo Delphi 2007, QReport 4.07 y Componentes Zeos 7.1.4 accediento a una base de datos MySql.

Cuando envío el siguiente Query "SELECT Data, SUM(Numero) AS Suma FROM Notificacions GROUP BY Data ORDER BY Data" a un reporte hecho con QReport si en la banda detalle pongo un TQRExpr.Expression := [Suma] el reporte me muestra "Field Suma is of unknown type".

Pero si lo pongo en un TQRDBText con FieldName=Suma me muestra correctamente los importes del campo Suma. Si en el TQRDBText además en la propiedad Mask le pongo ',0' entonces en lugar de ponerme el importe del campo me pone el literal "Suma". Incomprensible.

Lógicamente en la banda Summary me es imposible que salga la suma de los importes con la expresión SUM([Suma]) del TQRExpr.

Antes utilizaba los componentes ADO para acceder a MySql y no me daba ningun problema.

Si a alguien le ha pasado esto y lo ha podido solucionar os ruego me contesteis.

Gracias y Felices Fiestas.
Adolfo de Bonis.

ecfisa 21-12-2016 14:16:49

Hola.
Cita:

Empezado por adebonis (Mensaje 511941)
Buenos días.

Utilizo Delphi 2007, QReport 4.07 y Componentes Zeos 7.1.4 accediento a una base de datos MySql.

Cuando envío el siguiente Query "SELECT Data, SUM(Numero) AS Suma FROM Notificacions GROUP BY Data ORDER BY Data" a un reporte hecho con QReport si en la banda detalle pongo un TQRExpr.Expression := [Suma] el reporte me muestra "Field Suma is of unknown type".
...

Para evitar el error que mencionas, califica el nombre de campo anteponiendo el nombre de tu componente de consulta:
Código Delphi [-]
 QRExpr.Expression := 'tuQuery.SUMA';

Saludos :)

adebonis 21-12-2016 18:39:14

Hola.

Gracias por responder.

Con el componente TQRExpr es imposible, lo he probado de todas las formas posibles.
Esto únicamente pasa con los campos "Creados" en la consulta (SUM(Numero) AS Suma) con el resto de campos funciona perfectamente.
El caso es que en la banda detalle puedo sustituirlo por un TQRDBText, pero en la banda Summary me es imposible mostar los totales.

Bien. Si no lo soluciono deberé dejar los componentes Zeos y pasarme a una conexion ADO...

Saludos.
Adolfo de Bonis.

olbeup 22-12-2016 10:37:55

Cita:

Empezado por adebonis (Mensaje 511958)
Hola.

Gracias por responder.

Con el componente TQRExpr es imposible, lo he probado de todas las formas posibles.
Esto únicamente pasa con los campos "Creados" en la consulta (SUM(Numero) AS Suma) con el resto de campos funciona perfectamente.
El caso es que en la banda detalle puedo sustituirlo por un TQRDBText, pero en la banda Summary me es imposible mostar los totales.

Bien. Si no lo soluciono deberé dejar los componentes Zeos y pasarme a una conexion ADO...

Saludos.
Adolfo de Bonis.

Hola Adolfo,

Yo lo tengo así: Expression := SUM(CAMPOX) y me funciona perfectamente, has mirado en el Master del TQRExpr, tiene que apuntar al QRSubDetail1

Sobre el TQRDBText.Mask := ',0' funciona correctamente.

Un saludo.

adebonis 24-12-2016 08:42:20

Hola.

Ya he encontrado la solucion. El caso es que MySql al encontrar una instrucción del tipo "SUM(Importe) AS Suma" al campo creado suma lo asigna como un numero largeint.

Pues bien, QReport no reconoce los números largeint.

La solución es usar la función CAST de MySQL. "CAST(SUM(Importe) AS UNSIGNED) Suma".

Un saludo a todos y felices fiestas.
Adolfo de Bonis.


La franja horaria es GMT +2. Ahora son las 03:21:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi