Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   QuickReport QRGroup (https://www.clubdelphi.com/foros/showthread.php?t=22580)

Barzaugc 20-06-2005 21:13:13

QuickReport QRGroup
 
Hola mundo delphi, llego aqui para pedirles nuevamente su ayuda, ahora es con los componentes Qreport de Delphi 6, lo que quiero hacer es desplegar un reporte cuando den click en un boton, pero eso no es todo, eso ya se como hacerlo, lo que no se es como ordenar el reporte con datos de una tabla en Access mediante el componente QRGroup, supongo que se le tiene que dar en la propiedad Expression, pero no se si realmente se agrupen dandole solo el campo por el cual quiero el agrupamiento. por ejemplo:

QRGroup1.Expression:='ADOTable1.Clave';

o tenga que modificar más propiedades aparte de esa. Se los pregunto a ustedes porque se que todo lo saben.

Lepe 21-06-2005 11:18:11

En principio debe bastar con el campo, por supuesto si es clave primaria o un campo que no se repite, no tendrá nada que agrupar ;).

Un saludo

Barzaugc 21-06-2005 23:01:53

Gracias por contestar Lepe, pero el reporte no sale por grupos solo dandole en la propiedad expression, me los manda en forma de lista y en la parte de arriba el supuesto campo para agruparlos. Tienes alguna idea de porque hace eso?

Lepe 21-06-2005 23:55:11

Como un ejemplo vale más que mil palabras, mira en:

C:\Archivos de programa\Borland\Delphi6\Demos\QuickRpt\Qr3\

Ahí tienes un ejemplo de lo que quieres, y en realidad, solamente usa el nombre del campo en la propiedad Expression. Quizás te falle por las demás bandas :confused:

Un saludo

Barzaugc 22-06-2005 15:32:05

Ok. ya puse los campos en su lugar, ya le di el nombre del campo por el que quiero agrupar, incluso los separa por ese campos, pero no los agrupa, me sale repetido el campo varias veces, ejemplo:

Quimica----------------------->campo por el cual estoy agrupando
-----------------
Alejandro 10
Pepe 8

Matematicas
-----------------
Juan 7

Quimica
-----------------
Manuel 8

Matematicas
------------------
José 10

Me sale repetido el campo por el cual estoy agrupando, no agarra todos los datos. Tienes alguna idea?
Por cierto, no encontre el ejemplo que me mencionaste en toda mi PC

ramiretor 22-06-2005 21:24:32

Hola:
Lo que pasa es que tu query debe estar ordenado por el campo que va a formar el grupo, de lo contrario el grupo no te sirve de nada.

Saludos

Barzaugc 22-06-2005 21:56:41

el codigo que le pongo al query es:
select * from INVTABLA
nada mas, necesito ordenarlo por otro campo o algo mas esta fallando?

ramiretor 22-06-2005 23:14:55

Hola:
Sí, necesitas ordenarlo por el campo clave (o como se llame):

Código SQL [-]
  select * from INVTABLA
   order by clave

Saludos

Barzaugc 22-06-2005 23:19:38

Por cierto, algo que se me paso es que al momento de mostrarse el reporte, en el componente QRExpr marca un error cuando le asigno un campo, le asigno de esta manera:

QRExpr1.Expression:='ADOQuery1.Clave';

y me manda este error:

Unknown function ADOQuery1.Clave

Si hay alguien por ahi que me pueda hacer el favor de darme informacion completa acerca de QuickReport agrupados, se los agradeceria muchisimo.

Lepe 23-06-2005 10:55:44

En el ejemplo que te indicaba viene un par de querys, el SQL es:
Código SQL [-]
select c.company, o.orderno, o.custno, o.ItemsTotal
from orders o join customer c on o.custno=c.custno
where c.company LIKE 'A%'
order by c.company, o.orderno
Agrupa por c.company y por o.orderno

el Qreport tiene:
Código:

Banda                campos dentro de la banda
------------------------------------------
Group header        company
Detail                orderno

Los componentes de cada banda son QRDBTEXT, asociados a su Dataset.

QRgroup.Expression es : Masterqry.company A ti te dice que no lo conoce porque no tienes los campos persistentes. Dale doble clic a tu query, boton derecho, y Add all fields para que te reconozca la expresión. Ahora en la banda qrGroup, en su propiedad expression, dale a los 3 puntos y usa el boton Database Field para añadir el campo.

Como ya te han dicho, debe estar ordenado, primero por el campo que quieres agrupar (para que salgan todos juntos), y despues puedes ordenarlo por otro campo. Así tu cláusula puede ser
Código SQL [-]
ORDER BY ASIGNATURA, NOMBREALUMNO;

Un saludo


La franja horaria es GMT +2. Ahora son las 01:06:19.

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