Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Qreport y Tquery (https://www.clubdelphi.com/foros/showthread.php?t=81047)

Salnhack 04-10-2012 23:21:35

Qreport y Tquery
 
Hola, he intentado hacer un reporte del resultado de una consulta pero no he logrado nada,
la cuestion es que quiero que me salga el reporte agrupado

mi consulta es esta
Código SQL [-]
Select cargat.carga, cargat.nocarga, cargat.fecha, tcomb.ntcomb from cargat,tcomb Where cargat.fecha between :pinicio and :pfin and cargat.idtcomb=tcomb.idtcomb Order By cargat.fecha

ejemplo
Código:

ntcomb          fecha                  nocarga                  carga
1050
                    10/2/2012            1052                      200
                    11/3/2012            5023                      150
5901
                    1/2/2012              4050                      220

Algo Asi, espero que me puedan ayudar

cancun 05-10-2012 00:41:22

Hola


Para poder agruparlo de ese modo debes cambiar el orden del resultado de la consulta, o sea en
Código:

Order By tcomb.ntcomb,cargat.fecha
Saludos

Salnhack 05-10-2012 01:13:00

hola cancun

ok, he variado mi consulta, pero como monto el reporte, disculpa la ignorancia , porque he intentado mil una forma y no logro que me muestre agrupada por ntcomb.

MartinS 05-10-2012 04:30:49

Hola Salnhack: Talvez este enlace te pueda servir.

Saludos.-

Salnhack 05-10-2012 18:12:00

Cita:

Empezado por MartinS (Mensaje 446413)
Hola Salnhack: Talvez este enlace te pueda servir.

Saludos.-

hola, MartinS

He vito el link que me facilitaste, eh tratado de adaptarlo a mi aplicacion, pero no logro que me funciones

en mi Qreport asocie el dataset al query (Datamodule1.Query2)

inserto una Band Title para el Encabezado de Mi reporte, un Column Header para las cabeceras de mis columnas
un Group Header en la propiedad Expression puse Datamodule.query2.ntcomb, inserto un QRDBText para mostrar ntcomb
y una banda detail con 3 QRDBText, para mostrar los datos.

el problema es que que me sale asi

Código:

ntcomb          fecha                  nocarga                  carga
1050
                    10/2/2012            1052                      200
                    11/3/2012            5023                      150
                    1/2/2012              4050                      220

en ves de
Código:

ntcomb          fecha                  nocarga                  carga
1050
                    10/2/2012            1052                      200
                    11/3/2012            5023                      150
5901
                    1/2/2012              4050                      220

no se si me logro entender

MartinS 05-10-2012 20:19:21

Hola Salnhack: estas bien orientado sobre lo que estas haciendo y mucho mas secreto no tiene. Lo que debes recordar es que el qreport solo agrupa los registros iguales (campos) de modo que debes lograr un ordenamiento de datos a traves del query que cumpla con tal condición. Por lo que observo debes inicar el orden así:

Código SQL [-]
Order by tcomb.nbcomb,cargat.fecha

De esta forma agrupas primero por nbcomb que es lo que necesitas y luego como detalle salen las fechas.

Saludos

Otra observación: es probable que debas alterar el orden general de la consulta, es decir, debes indicar el campo de tcomb delspues del select y despues los de carga

Salnhack 05-10-2012 22:27:25

MartinS, he modificado mi sentencia SQL, como me digiste, y en la banda de detalle me ordena correstamente pero no me salen agrupados

cancun 06-10-2012 00:10:49

Después de cambiar el orden de la consulta como te había indicado en un mensaje anterior en el reporte debes usar una banda TQRGroup y en su propiedad Expression el campo que le indicara cuando inicia y termina un grupo, en esa banda puedes poner un QRDBText con el campo que agrupa.

Espero te haya quedado claro.


Saludos

MartinS 06-10-2012 00:13:25

Hola: Asi es como yo lo uso. Lo que podrias probar es incorporando en el bloque del select los indices tanto cargat.idtcomb como tcomb.idtcomb. Te hago una pregunta medio tonta pero ...¿Verificaste el valor de la consulta en un Grid o algo?.

Es simple: Suponiendo que tienes un Ibquery que dice:

Código SQL [-]
Select Apellidos, Nombres, Jerarquia, Escalafon From Agentes
Order by Jerarquia,Escalafon,Apellidos

Despues asignas el Ibquery ese al Dataset del Qreporte y la banda qrgroup la propiedad expression Ibquery.jerarquia (Para que agrupe por el primero.-

No tiene mas nada.-

Saludos

Salnhack 08-10-2012 22:50:34

hola,

el problema esta resuelto por parte, en la banda detalle me muestra todos ordenados segun la orden SQL


Código SQL [-]
Order By tcomb.ntcomb,cargat.fecha

, pero no los agrupa, me sale en la banda Group Header el primer valor de ntcomb, y luego todos los valores en la banda detalle, que devira ser

en la banda detalle los valores relacionado con el valor ntcomb

no se si me entienden

MartinS 12-10-2012 02:13:45

1 Archivos Adjunto(s)
Hola: Volvemos al ruedo. Te adjunto una unidad que usa los grupos para que observes como se hace. Igualmente creo que tu problema es que colocas una banda (QrBand) común y después le indicas el bandtype a Groupheader. Yo utilizo el componente TQrGroup (Búscalo que esta en la paleta de componentes de Qreport).-

Saludos

Nota: Es la version 5,05 pero no deberías tener inconvenientes en abrirlo para ver. Te puede dar error al abrirlo de QrPdfFilter que es un componente para eso (Exportar a PDF).-


La franja horaria es GMT +2. Ahora son las 03:12:29.

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