Página 1 de 1
Establecer relación entre dos dbfDataset
Publicado: Mar Jul 03, 2007 8:37 pm
por jose.luis
Hola,
En un formulario tengo abiertos dos dbfDatasets diferentes. Además tengo
varios datacontrols apuntando a los dos datasets.
Al establecer una relación entre un dataset y el otro no consigo que el
dataset relacionado refresque sus datacontrols.
¿Cómo debería hacerlo?
Estoy usando:
::oDbfDataset1:SetRelation( "MICAMPO",::odbfDataset2)
Saludos y gracias,
José Luis Capel
Establecer relación entre dos dbfDataset
Publicado: Mar Jul 03, 2007 9:11 pm
por miguel
Hola Jose Luis,
Yo créo que lo puedes solucionar con AddLinkedControl a la dbf madre de
los controles que corresponden a la dbf hija. Pruebalo.
Saludos. Miguel A. Torrellas
José Luis Capel escribió:
> Hola,
>
> En un formulario tengo abiertos dos dbfDatasets diferentes. Además
> tengo varios datacontrols apuntando a los dos datasets.
>
> Al establecer una relación entre un dataset y el otro no consigo que el
> dataset relacionado refresque sus datacontrols.
>
> ¿Cómo debería hacerlo?
>
> Estoy usando:
>
> ::oDbfDataset1:SetRelation( "MICAMPO",::odbfDataset2)
>
> Saludos y gracias,
> José Luis Capel
>
Establecer relación entre dos dbfDataset
Publicado: Mar Jul 03, 2007 10:48 pm
por zeasoftware
En la segunda relacion le debes anexar un tercer campo para que lo anexe, si
no lo envias te sustituye el o los relations anteriores.
::oDbfDataset1:SetRelation( "MICAMPO",::odbfDataset1)
::oDbfDataset1:SetRelation( "MICAMPO",::odbfDataset2, .t.)
Saludos.
Establecer relación entre dos dbfDataset
Publicado: Mié Jul 04, 2007 9:13 am
por jose.luis
Hola,
Gracias a ambos.
> ::oDbfDataset1:SetRelation( "MICAMPO",::odbfDataset1)
> ::oDbfDataset1:SetRelation( "MICAMPO",::odbfDataset2, .t.)
>
Estoy haciendo eso... pero los datacontrols de la tabla relacionada no se
actualizan... y eso es lo que no se hacer.
Saludos,
José Luis Capel
Establecer relación entre dos dbfDataset
Publicado: Mié Jul 04, 2007 9:26 am
por miguel
Jose Luis,
Yo por esto ya he pasado, cuando se mueve el puntero de la tabla madre
se entera la hija por medio de la Relation, pero los controles
pertenecientes a campos de la hija no estan en
oDbfMadre:aLinkedContrrols, por tanto tendres que:
with object ::oDbfHija
:open()
:SordSetFocus( mi campo )
end with
with object oDbfMadre
:open()
:SetRelation( 'mi campo', ::oDbfHija )
:AddLinkedcontrol(::oCampoHija )
:AddLinkedControl(::OtroControl)
:AddLinkedControl(.....)
end with
Saludos. Miguel A. Torrellas
José Luis Capel - Aicom escribió:
> Hola,
>
> Gracias a ambos.
>
>> ::oDbfDataset1:SetRelation( "MICAMPO",::odbfDataset1)
>> ::oDbfDataset1:SetRelation( "MICAMPO",::odbfDataset2, .t.)
>>
>
> Estoy haciendo eso... pero los datacontrols de la tabla relacionada no se
> actualizan... y eso es lo que no se hacer.
>
> Saludos,
> José Luis Capel
>
>
Establecer relación entre dos dbfDataset
Publicado: Mié Jul 04, 2007 8:44 pm
por jose.luis
Hola Miguel,
Muchas gracias por tu respuesta.
> Yo por esto ya he pasado, cuando se mueve el puntero de la tabla madre se
> entera la hija por medio de la Relation, pero los controles pertenecientes
> a campos de la hija no estan en oDbfMadre:aLinkedContrrols, por tanto
> tendres que:
>
> with object ::oDbfHija
> :open()
> :SordSetFocus( mi campo )
> end with
>
> with object oDbfMadre
> :open()
> :SetRelation( 'mi campo', ::oDbfHija )
> :AddLinkedcontrol(::oCampoHija )
> :AddLinkedControl(::OtroControl)
> :AddLinkedControl(.....)
> end with
>
He probado lo que me dices. Va estupendo.
No obstante, con claves compuestas parece que no consigo que funcione. Por
ejemplo:
with object oDbfMadre
:open()
:SetRelation( "micampoa + micampob + micampoc", ::oDbfHija )
:AddLinkedcontrol(::oCampoHija )
:AddLinkedControl(::OtroControl)
:AddLinkedControl(.....)
end with
¿Puedes probarlo tu?
Saludos y gracias!
José Luis Capel