Relacionando 2 DBF

Post Reply
Loren
Posts: 458
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Relacionando 2 DBF

Post by Loren »

Compañeros:

No logro relacionar 2 dbf. Llevo 2 horas y estoy liado.

Tengo 2 DBF:
AFORO && Dbf padre
ZONA && Dbf hija

ambas con un campo en común
ZONA,N,2,0

Indexo de la siguiente forma:

Code: Select all

 select 2 ; use aforo    alias aforo    shared
   index on tran(tendido,'##') tag TAFORO  
   index on tran(tendido,'##')+tran(zona,'##')+tran(fila,'##') tag TZFAFORO    
   index on sol+tran(tendido,'##')+sector tag TSAFORO  
   index on tran(zona,'##') tag ZAFORO
 select 7 ; use zona     alias zona     shared 
   index on tran(zona,'##') tag Nzona
Para abrir y relacionar hago lo siguiente:

Code: Select all

    select 7 ; use zona     alias zona     shared ; set index to zona
    select 2 ; use aforo    alias aforo    shared ; set index to aforo
               DBSETRELATION("zona",{|| aforo->zona},"aforo->zona")
Tal y como está hago un dbrelation() y no me devuelve nada pero todos los registros de PADRE me los muestra relacionado con el 1er. registro de HIJA. Si en el DBSETRELATION le quito las comillas a "zona", dbrelation() me devuelve la relacion pero los registros de PADRE me los muestra relacionado vacios.

¿ Como sería ? Utilizo FWH807 y xHarbour 27/June/2008
Mil gracias.
Lorenzo
User avatar
tosko
Posts: 28
Joined: Sat Oct 29, 2005 12:01 am
Location: Puerto Vallarta MX
Contact:

yo los aplico asi con CDX o Netx

Post by tosko »

Sele dgfolios
Set relation to idcol into colonias


Saludos
Loren
Posts: 458
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Post by Loren »

tosko, agradezco tu sugerencia, que aunque algo escueta ya la probé y no funciona....

Seguí las indiciaciones en este foro: http://fivetechsoft.com/forums/viewtopi ... t=relation

pero sigo sin lograrlo.

A la espera de sugerencias, saluda
Lorenzo
fergonm
Posts: 133
Joined: Fri Nov 30, 2007 11:34 am
Location: Zaragoza (España)

Post by fergonm »

Lorenzo.
Ten cuidadp con el orden de apertura de las bases de datos ya que para relacionar dos bases de datos es fundamnetal abrir primero la hija. Un ejemplo.


DbUseArea(.T.,,"Facturas")
Facturas->(DbSetIndex("I1FActur"))

DbUseArea(.T.,,"Siniestr")
Siniestr->(DbSetIndex("I1Sini"))

DbSelectArea("Facturas")

SET RELATION TO Facturas->NumControl INTO Siniestr


Un saludo. Fernando
Saludos. Fernando
Post Reply