PDA

Ver la Versión Completa : Qreport y Tquery


Salnhack
04-10-2012, 23:21:35
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

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

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 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 (http://www.clubdelphi.com/foros/showthread.php?p=428476) enlace te pueda servir.

Saludos.-

Salnhack
05-10-2012, 18:12:00
Hola Salnhack: Talvez este (http://www.clubdelphi.com/foros/showthread.php?p=428476) 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


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

en ves de

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í:


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:

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


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
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).-