Página 1 de 1

Llamar de un formulario al otro

Publicado: Mié Ene 21, 2009 5:35 pm
por Karl Svensson
Desde el formulario TClientes llamo al formulario TCLiEdit, para editar el
cliente seleccionado en el Browse
METHOD DBBrowse1DblClick( oSender, nKeys, nCol, nRow ) CLASS TClientes
LOCAL oForm1
oForm1:=TCliEdi():New()
oForm1:Showmodal()
RETURN Nil
En el formulario TCLiEdi trato de vincular la tabla y "moverla" al puntero
seleccionado
METHOD FormInitialize( oSender ) CLASS TCliEdi
::oNtxDataSource1:=::oParent:oNtxDataSource1
::oClientes:=::oParent:oClientes
if !::oClientes:lOpen
::oClientes:lOpen:=.T.
endif
::oClientes:Seek(::oParent:oDBBRowse1:aCols[1]:Value)
::oClientes:UpdateControls()
RETURN NIL
Pero se queda en el primer registro de la tabla.
¿Alguien ve el error? Gracias!
Karl

Llamar de un formulario al otro

Publicado: Jue Ene 22, 2009 8:55 am
por Bingen Ugaldebere
Yo lo hago así­ sin problemas
> Desde el formulario TClientes llamo al formulario TCLiEdit, para editar
> el cliente seleccionado en el Browse
>
METHOD Add( oSender ) CLASS TFormClientes
Local oFrm
WITH OBJECT oFrm := TManClientes()
:lAlta:=.T.
:New(Self)
:cText:="Añadir datos de Cliente"
::oDBFClientes:AddNew()
:ShowModal()
If :nModalResult == mrOK
::oDBFClientes:Update()
Else
::oDBFClientes:Cancel()
Endif
:End()
END WITH
::Subcuentas(::oDBFClientes)
RETURN Nil
>
> En el formulario TCLiEdi trato de vincular la tabla y "moverla" al
> puntero seleccionado
//---------------------------------------------------------- --------------------
//Heredo el datasource del formulario padre
METHOD AdsCreate( oSender ) CLASS TManClientes
::oAds:=::oParent:oAds
RETURN Nil
//---------------------------------------------------------- --------------------
//Heredo el dataset del formulario padre
METHOD DbfClientesCreate( oSender ) CLASS TManClientes
::oDbfClientes:= ::oParent:oDbfClientes
RETURN Nil
//---------------------------------------------------------- --------------------
Y listo no hace falta "moverla" ni abrirla ni nada
Salu2.

Llamar de un formulario al otro

Publicado: Jue Feb 19, 2009 4:35 am
por Armando Ruiz Gutierre
Hola,
Buscando encontre algo que se parece al lo que estoy haciendo, pero la
diferencia es que cuando habro otro formulario en ese hago un proceso en el
cual se genera una variable la cual requiero este vigente en todo mi
proyecto, a que me refiero, con esa variable podre acceder a otras opciones
de todo mi diseño, digamos que dependiendo del tipo de usuario sera los
accesos que tenga al sistema.
Por favor les pido me puedan orientar sobre este ejemplo ya que no soy
experto en esto.
Saludos
Armando Ruiz
"Bingen Ugaldebere" <bingen@bisoft.com> escribió en el mensaje
news:4978265b$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Yo lo hago así sin problemas
>
>> Desde el formulario TClientes llamo al formulario TCLiEdit, para editar
>> el cliente seleccionado en el Browse
>>
>
> METHOD Add( oSender ) CLASS TFormClientes
> Local oFrm
>
> WITH OBJECT oFrm := TManClientes()
> :lAlta:=.T.
> :New(Self)
> :cText:="Añadir datos de Cliente"
> ::oDBFClientes:AddNew()
> :ShowModal()
>
> If :nModalResult == mrOK
> ::oDBFClientes:Update()
> Else
> ::oDBFClientes:Cancel()
> Endif
> :End()
> END WITH
>
> ::Subcuentas(::oDBFClientes)
>
> RETURN Nil
>
>
>>
>> En el formulario TCLiEdi trato de vincular la tabla y "moverla" al
>> puntero seleccionado
>
>
> //---------------------------------------------------------- --------------------
> //Heredo el datasource del formulario padre
> METHOD AdsCreate( oSender ) CLASS TManClientes
> ::oAds:=::oParent:oAds
> RETURN Nil
> //---------------------------------------------------------- --------------------
> //Heredo el dataset del formulario padre
> METHOD DbfClientesCreate( oSender ) CLASS TManClientes
> ::oDbfClientes:= ::oParent:oDbfClientes
> RETURN Nil
> //---------------------------------------------------------- --------------------
>
>
> Y listo no hace falta "moverla" ni abrirla ni nada
>
> Salu2.

Llamar de un formulario al otro

Publicado: Jue Feb 19, 2009 7:16 pm
por Bingen Ugaldebere
Muy sencillo existe una "variable global" mas bien un objeto público
llamada AppData al que puedes añadir tantos Datas o propiedades como
quieras.
Por ejemplo si en cualquier punto del programa escribes
AppData:AddData("Ejercicio",2009)
A partir de ese punto podrás utilizar el todo el programa la variable
Appdata:Ejercicio cuyo valor será 2009 o el que tu le asignes
Por ejemplo
AppData:AddData("Ejercicio",2009) //Crea la variable
Msginfo(Appdata:Ejercicio) -> 2009
Appdata:Ejercicio:=2008 //Cambio su valor no tengo que crearla de nuevo
Msginfo(Appdata:Ejercicio) -> 2008
Salu2.