Ver Mensaje Individual
  #1  
Antiguo 02-02-2011
martinartaza martinartaza is offline
Miembro
NULL
 
Registrado: oct 2010
Posts: 77
Reputación: 14
martinartaza Va por buen camino
Maestro detalle FastReport. Me ayudan.

Hola estoy usando Delphi 6.0 y tengo instalado FastReport 4.0
Tengo un proyecto con 2 tabla en postgres.

Código SQL [-]
CREATE TABLE persona
(
  idpersona smallint NOT NULL,
  nombre character varying(50),
  CONSTRAINT persona_pkey PRIMARY KEY (idpersona)
)

CREATE TABLE direccion
(
  iddireccion smallint NOT NULL,
  idpersona smallint NOT NULL,
  calle character varying(50),
  CONSTRAINT direccion_pkey PRIMARY KEY (iddireccion),
  CONSTRAINT fk_direccion_r_persona FOREIGN KEY (idpersona)
      REFERENCES persona (idpersona) MATCH SIMPLE
      ON UPDATE RESTRICT ON DELETE RESTRICT
)

En Delphi tengo los siguientes componentes.
3 Query (de postgresDac)

Código Delphi [-]
QPersona.sql:= 'select * from persona';
QDireccion.sql:= 'Select * from direccion';
QUnion.sql:= 'Select * from persona P left join direccion d on (p.idpersona = d.ipersona) order by idpersona';
Tengo además 1 componente FRXReport1 (TFRXReport) y 3 FRXDBDataSet

Código Delphi [-]
FRXPersona.dataset := QPersona;
FRXDireccion.dataset:= QDireccion;
FRXUnion:= QUnion;

Pregunta: ¿Qué es lo que conviene 1 o 2 de las siguientes opciones?
1: usar una banda MasterData y otra DetailData y relacionarlas con los FRXPersona y FRXDireccion.
2: Usar una banda GroupHeader y otra MasterData y relacionarla con FRXUnion.

Como hago 1.
El problema que tengo con uno, es que la banda DetailData, no tengo forma de decirle que no me muestre todos los datos, sino solamente los datos que pertenece a esa persona.
Como hago 2
El problema que tengo es que tengo es en la banda group no tengo una propiedad del tipo expresion que me diga cuando cambia el grupo.

Estuve viendo los manuales de FastReport, pero no se cual ver el de usuario, developer o programador, de cualquier forma el problema es el de siempre mi escaso ingles.

Agradecería que alguien, me explique cual es la mejor opción y como lo realizo y seria un golazo de arco a arco si me envía el archivo de reporte realizado.

Desde ya muchas gracias.

Última edición por martinartaza fecha: 02-02-2011 a las 13:49:12. Razón: Me comi una comilla en el codigo de delphi y un ;
Responder Con Cita