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.

Establecer relación entre dos dbfDataset

Foro de Xailer profesional en español
Responder
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Establecer relación entre dos dbfDataset

Mensaje 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
miguel
Mensajes: 364
Registrado: Jue Jul 02, 2009 1:09 pm

Establecer relación entre dos dbfDataset

Mensaje 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
>
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Establecer relación entre dos dbfDataset

Mensaje 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.
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Establecer relación entre dos dbfDataset

Mensaje 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
miguel
Mensajes: 364
Registrado: Jue Jul 02, 2009 1:09 pm

Establecer relación entre dos dbfDataset

Mensaje 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
>
>
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Establecer relación entre dos dbfDataset

Mensaje 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
Responder