martinartaza
02-02-2011, 13:48:02
Hola estoy usando Delphi 6.0 y tengo instalado FastReport 4.0
Tengo un proyecto con 2 tabla en postgres.
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)
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
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.
Tengo un proyecto con 2 tabla en postgres.
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)
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
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.