In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

TRES CAMPOS CON LLAVES DIFERENTES

FastReport for Xailer & [x]Harbour (English/Spanish)
Responder
gaboais
Mensajes: 35
Registrado: Vie May 21, 2010 2:09 am

TRES CAMPOS CON LLAVES DIFERENTES

Mensaje por gaboais »

HOLA BUEN DIA,..
COMO PODRIA "ENLAZAR" TRES ARCHIVOS PARA OBTENER UN REPORTE POR FASTREPORT.
O SEA:
ARCHIVO UNO.DBF TIENE LOS CAMPOS,..
CAMPO(1) COMPAí‘IA <- LLAVE
CAMPO(2) DIRECION
CAMPO(3) COLONIA
..
..
CAMPO(N)
ARCHIVO DOS.DBF TIENE LOS CAMPOS,..
CAMPO(1) COMPAí‘IA <- LLAVE
CAMPO(2) PLACAS
CAMPO(3) NUMERO
..
..
CAMPO(N)
SIENDO LA LLAVE COMUN ENTRE ESTOS ARCHIVOS EN CAMPO "COMPAí‘IA"
Y HAGO LO SIGUIENTE,..
FrPrn:SetWorkArea("UNO", 1)
FrPrn:SetFieldAliases("UNO", "COMPAí‘IA;DIRECCION;COLONIA")
FrPrn:SetWorkArea("DOS", 2)
FrPrn:SetMasterDetail("UNO", "DOS", {||UNO->COMPAí‘IA})
DbSetRelation(2, {||COMPAí‘IA})
HASTA AQUI BIEN, PERO QUE PASA SI LA LLAVE DEL SIGUIENTE ARCHIVO ("TRES") ES DE DIFERENTE LLAVE A LA DE LOS 2 PRIMEROS ?
O SEA SI EL SIGUIENTE ARCHIVO TIENE LOS CAMPOS,..
ARCHIVO TRES.DBF TIENE LOS CAMPOS,..
CAMPO(1) PLACAS <- LLAVE
CAMPO(2) POSICION
CAMPO(3) FECHA
..
..
CAMPO(N)
QUE AHORA LA LLAVE SERIA CON EL CAMPO "PLACAS " ENTRE EL ARCHIVO "DOS.DBF" Y EL ARCHIVO "TRES.DBF"
EN EL EJEMPLO PARA XAILER QUE PROPORCIONA FASTREPORT TIENE "LLAVES" IGUALES EN LOS CUATRO ARCHIVOS, EN EL MIO SON DIFERENTES.
HE REALIZADO DIFERENTES COMBINACIONES CON "FrPrn:SetMasterDetail" Y "DbSetRelation" SIN OBTENER LOS RESULTADOS ESPERADOS.
HOJALA ME PUEDAN AYUDAR.
GRACIAS
GABRIEL GLEZ
hgarciaj
Mensajes: 107
Registrado: Jue Sep 23, 2010 12:44 am

TRES CAMPOS CON LLAVES DIFERENTES

Mensaje por hgarciaj »

Hola Gabriel,
yo uso datasets tanto en xailer como en FastReports
y no se si lo que quieres es algo como esto:
oEmpresa:=:oFastReport:AddDataSet("Empresa",::oDbfEmpresa)
oActJure:=:oFastReport:AddDataSet("ActosJurE",::oDbfActJurE)
oEmpresa:SetMaster(oFacturE,{"NUMERO=SERIE"})
En este código oFacture es el archivo maestro y el campo es SERIE, y el archivo detalle es oEmpresa y el campo es NUMERO,obviamente el campo número debe ser llavey debe estar previamente seleccionado.
Espero te sea de ayuda
Saludos
Héctor García
gaboais
Mensajes: 35
Registrado: Vie May 21, 2010 2:09 am

TRES CAMPOS CON LLAVES DIFERENTES

Mensaje por gaboais »

Gracias HGJ, voy a probar.
gaboais
Mensajes: 35
Registrado: Vie May 21, 2010 2:09 am

TRES CAMPOS CON LLAVES DIFERENTES

Mensaje por gaboais »

HOLA HECTOR GARCIA, BUEN DIA,..
GRACIAS POR RESPOMDER A MI PREGUNTA.
NO SOY MUY BUENO PARA PROGRAMAR EN XAILER, PORQUE ESTOY INICIANDO.
POR ESTA RAZON PODRIA SER MAS EXPLICITO EN SU RESPUESTA, YA REALICE VARIAS PRUEBAS PERO TODAVIA NO ENCUENTRO EL REPORTE QUE NECESITO.
APRECIARIA SU COMPRENSION Y AYUDA DE USTED O ALGUIEN MAS DEL FORO.
GABRIEL G.
Responder