Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

como puedo agrupar datos en qreport, Ayuda porfavor!!

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: como puedo agrupar datos en qreport, Ayuda porfavor!! Responder citando

He visto montones de ejemplos, pero ninguno claro, me he peleado horas pero no me sale, lo que yo necesito es muy parecido a esto, sacado de delphi.

Cita:

Tengo varios informes del tipo maestro-detalle. Te explico un poco cómo lo hago con un ejemplo: Supongamos una tabla TPersona (Persona, NombrePersona) que será la maestra y otra tabla Tdireccion(Persona,direccion) que es la de detalle. En la maestra tenemos los datos de una persona y en la de detalle las distintas direciones de una persona. Si queremos un informe que por cada persona nos diga las direcciones que tiene, pero el nombre de la persona aparecerá sólo una vez.
1.- Siempre intento tener un dataset único, que es un componente Query.
2.- En la propiedad string del Query montas la Select que te relacione las tablas maestra y detalle. Pa ra ello necesitas saber SQL. En nuestro caso:
Select P.Persona,P.Nombre,D.dirección
from Tpersona P, Tdireccion D
where D.Persona = T.persona
order by P.persona
3.- Es importante que el conjunto esté ordenado por el campo que nos determinará la ruptura de control en el informe que en nuestro caso es el código de persona.
4.-En el informe necesitamos forzosamente un QRgroup. Este componente nos determina cómo agrupar las filas que ha recuperado de la consulta. Para ello debes especificarlo en la propiedad expresion. La expresion en nuestro caso sería P.persona, pues vamos a agrupar por código de persona.
5.-Este componente Qrgroup necesita trabajar con 2 bandas:una de tipo cabecera de grupo, en la que colocaras un qrdbedit para el código de persona y otro para el nombre; y una banda de pie de grupo que para nuestro caso estaría vacía.
La banda cabecera de grupo y pie de grupo se imprimen sólo una vez por cada valor distinto del grupo, o sea , del código de persona.
6.- Incluir en el informe una banda de tipo detalle, en la que colocaríamos un qrdbedit para el campo D.direccion.
7.- Supongamos que lanzamos desde un botón el informe desde el form1 y el informe se encuentra en el form2. Las ódenes para ver el informe:
Form2.query1.open;
Form2.Informe.preview;
form2.query1.close;
8.- Debería mostrarse algo así:

Banda cab.grupo ---> Numero persona: 1 Nombre: ALONSO RODRIGUEZ
Banda detalle --------> Dirección: C/La mina, 1
Banda detalle --------> Dirección: C/Huertas, 3 1 A
Banda detalle --------> Dirección: C/Encina, 125
Banda pie grupo ------->
Banda cab.grupo ---> Numero persona: 2 Nombre: JOSE GOMEZ
Banda detalle --------> Dirección: C/Pasión, 2
Banda pie grupo ------->


Bien yo tengo una consulta parecida a la anterior, un unico dataset con los datos, y hasta donde he llegado es tener un group header con codigo y nombre, y un subdetail q es el padre del group header, que contiene el detalle. Lo que consigo es algo parecido a lo siguiente, en relacion al ejemplo anterior.
Cita:

Banda cab.grupo ---> Numero persona: 1 Nombre: ALONSO RODRIGUEZ
Banda detalle --------> Dirección: C/La mina, 1

Banda cab.grupo ---> Numero persona: 1 Nombre: ALONSO RODRIGUEZ
Banda detalle --------> Dirección: C/Huertas, 3 1 A

Banda cab.grupo ---> Numero persona: 1 Nombre: ALONSO RODRIGUEZ
Banda detalle --------> Dirección: C/Encina, 125

y lo q necesito es
Cita:

Banda cab.grupo ---> Numero persona: 1 Nombre: ALONSO RODRIGUEZ
Banda detalle --------> Dirección: C/La mina, 1
Banda detalle --------> Dirección: C/Huertas, 3 1 A


He buscado la propiedad expression en el group header y no lo encuentro por ningun sitio.

Mi pregunta a fin de cuentas es: ¿Como le digo al builder que mi cabecera maestra de datos de mi consulta es Codigo y nombre (en el ejemplo anterior P.Persona)?

He escrito mucho, pero es para que se me entienda, ya que me suelo explicar bastante mal.[/quote]
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

ya lo consegui hacer, asi q no necesito q contesten, gracias =mente
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Como lo conseguiste? Responder citando

Como l conseguiste?
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.