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
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.
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.
Llamar de un formulario al otro
-
- Mensajes: 81
- Registrado: Mar Oct 18, 2005 7:20 pm
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Llamar de un formulario al otro
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.
> 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.
-
- Mensajes: 23
- Registrado: Jue Feb 19, 2009 4:35 am
Llamar de un formulario al otro
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.
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.
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Llamar de un formulario al otro
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.
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.