Página 1 de 1

On Exit

Publicado: Vie Sep 22, 2006 5:37 pm
por Paco V
En el evento OnExit de oDbEdit1 llamo al metodo MIRAR
*************
IF ::oDbfDataSet1:Seek( RTRIM(::oDBEdit1:value) )
::oDBEdit2:value := ::oDbfDataSet1:Nombr
::oDBEdit3:SetFocus()
else
msgInfo("Agente no existe en la Base de Datos")
::oDBEdit2:SetFocus()
ENDIF
*************
Pues si se cumple la condición funciona OK,
Pero si no se cumple no hay forma de salir.
¿Creo que me falta algo?
Paco V

On Exit

Publicado: Sab Sep 23, 2006 12:16 am
por Rolando
Paco:
"Paco V" <ssi@ono.com> escribió en el mensaje
news:45140321$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>
> En el evento OnExit de oDbEdit1 llamo al metodo MIRAR
>
> *************
::oDbfDataSet1:SaveState()
> IF ::oDbfDataSet1:Seek( RTRIM(::oDBEdit1:value) )
> ::oDBEdit2:value := ::oDbfDataSet1:Nombr
> ::oDBEdit3:SetFocus()
> else
::oDbfDataSet1:RestoreState()
> msgInfo("Agente no existe en la Base de Datos")
> ::oDBEdit2:SetFocus()
> ENDIF
> *************
>
> Pues si se cumple la condición funciona OK,
> Pero si no se cumple no hay forma de salir.
>
> ¿Creo que me falta algo?
>
> Paco V
>
>

On Exit

Publicado: Sab Sep 23, 2006 12:10 pm
por paco-ssi
Seguramente me he explicado mal.
Lo unico que quiero es que en el caso de que no encuentre el codigo en la
base de datos me deje continuar introduciendo el nombre.
Gracias
"Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
news:[email=451460c8@news.xailer.com...]451460c8@news.xailer.com...[/email]
> Paco:
>
> "Paco V" <ssi@ono.com> escribió en el mensaje
> news:45140321$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>
>> En el evento OnExit de oDbEdit1 llamo al metodo MIRAR
>>
>> *************
> ::oDbfDataSet1:SaveState()
>
>> IF ::oDbfDataSet1:Seek( RTRIM(::oDBEdit1:value) )
>> ::oDBEdit2:value := ::oDbfDataSet1:Nombr
>> ::oDBEdit3:SetFocus()
>> else
>
> ::oDbfDataSet1:RestoreState()
>
>> msgInfo("Agente no existe en la Base de Datos")
>> ::oDBEdit2:SetFocus()
>> ENDIF
>> *************
>>
>> Pues si se cumple la condición funciona OK,
>> Pero si no se cumple no hay forma de salir.
>>
>> ¿Creo que me falta algo?
>>
>> Paco V
>>
>>
>
>

On Exit

Publicado: Sab Sep 23, 2006 3:04 pm
por Rolando
Hola: efectivamente lo he probado y no funciona, el evento si devuelve .f.
deberia quedarse el foco en el control y si devuelve .t. o nil deberia
continuar., debe ser un bug del tdbedit.
Un saludo
"Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
news:[email=4515081c@news.xailer.com...]4515081c@news.xailer.com...[/email]
> Seguramente me he explicado mal.
> Lo unico que quiero es que en el caso de que no encuentre el codigo en la
> base de datos me deje continuar introduciendo el nombre.
>
> Gracias
>
> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
> news:[email=451460c8@news.xailer.com...]451460c8@news.xailer.com...[/email]
>> Paco:
>>
>> "Paco V" <ssi@ono.com> escribió en el mensaje
>> news:45140321$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>
>>> En el evento OnExit de oDbEdit1 llamo al metodo MIRAR
>>>
>>> *************
>> ::oDbfDataSet1:SaveState()
>>
>>> IF ::oDbfDataSet1:Seek( RTRIM(::oDBEdit1:value) )
>>> ::oDBEdit2:value := ::oDbfDataSet1:Nombr
>>> ::oDBEdit3:SetFocus()
>>> else
>>
>> ::oDbfDataSet1:RestoreState()
>>
>>> msgInfo("Agente no existe en la Base de Datos")
>>> ::oDBEdit2:SetFocus()
>>> ENDIF
>>> *************
>>>
>>> Pues si se cumple la condición funciona OK,
>>> Pero si no se cumple no hay forma de salir.
>>>
>>> ¿Creo que me falta algo?
>>>
>>> Paco V
>>>
>>>
>>
>>
>
>

On Exit

Publicado: Sab Sep 23, 2006 7:27 pm
por paco-ssi
Rolando, seguramente sera algo que hago mal. Si fuera un Bug ya lo habria
dicho Ignacio o Jose.
Gracias por tu tiempo.
Paco V
"Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
news:[email=451530e6@news.xailer.com...]451530e6@news.xailer.com...[/email]
> Hola: efectivamente lo he probado y no funciona, el evento si devuelve .f.
> deberia quedarse el foco en el control y si devuelve .t. o nil deberia
> continuar., debe ser un bug del tdbedit.
> Un saludo
>
> "Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
> news:[email=4515081c@news.xailer.com...]4515081c@news.xailer.com...[/email]
>> Seguramente me he explicado mal.
>> Lo unico que quiero es que en el caso de que no encuentre el codigo en la
>> base de datos me deje continuar introduciendo el nombre.
>>
>> Gracias
>>
>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>> news:[email=451460c8@news.xailer.com...]451460c8@news.xailer.com...[/email]
>>> Paco:
>>>
>>> "Paco V" <ssi@ono.com> escribió en el mensaje
>>> news:45140321$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>
>>>> En el evento OnExit de oDbEdit1 llamo al metodo MIRAR
>>>>
>>>> *************
>>> ::oDbfDataSet1:SaveState()
>>>
>>>> IF ::oDbfDataSet1:Seek( RTRIM(::oDBEdit1:value) )
>>>> ::oDBEdit2:value := ::oDbfDataSet1:Nombr
>>>> ::oDBEdit3:SetFocus()
>>>> else
>>>
>>> ::oDbfDataSet1:RestoreState()
>>>
>>>> msgInfo("Agente no existe en la Base de Datos")
>>>> ::oDBEdit2:SetFocus()
>>>> ENDIF
>>>> *************
>>>>
>>>> Pues si se cumple la condición funciona OK,
>>>> Pero si no se cumple no hay forma de salir.
>>>>
>>>> ¿Creo que me falta algo?
>>>>
>>>> Paco V
>>>>
>>>>
>>>
>>>
>>
>>
>
>

On Exit

Publicado: Dom Sep 24, 2006 3:19 am
por zeasoftware
Por que no pones el metodo completo para ver que puedes tener mal, recuerda
que te estan diciendo que tienes que devolver ciertos valores para continuar
la ejecucion.
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoft/

On Exit

Publicado: Dom Sep 24, 2006 9:06 am
por ignacio
Paco,
No deberías cambiar el foco dentro de un evento OnExit. Tan sólo puedes
devolver FALSO para quedarte en dicho control o VERDADERO para ir a la
siguiente.
Un saludo,
"Paco V" <ssi@ono.com> wrote in message news:45140321$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>
> En el evento OnExit de oDbEdit1 llamo al metodo MIRAR
>
> *************
> IF ::oDbfDataSet1:Seek( RTRIM(::oDBEdit1:value) )
> ::oDBEdit2:value := ::oDbfDataSet1:Nombr
> ::oDBEdit3:SetFocus()
> else
> msgInfo("Agente no existe en la Base de Datos")
> ::oDBEdit2:SetFocus()
> ENDIF
> *************
>
> Pues si se cumple la condición funciona OK,
> Pero si no se cumple no hay forma de salir.
>
> ¿Creo que me falta algo?
>
> Paco V
>
>

On Exit

Publicado: Dom Sep 24, 2006 7:25 pm
por paco-ssi
Gracias Ignacio.
Para mi era logico lo que estaba haciendo.
Si al introducir un codigo de cliente, este se encuentra en la base de
datos, pues el foco pasa a la introduccion de su operación. Si no se
encuentra el codigo, pues va por los controles hasta el final para que se
rellenen, y despues pasa a la introducción de su operación.
Paco V
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:45162e87$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Paco,
>
> No deberías cambiar el foco dentro de un evento OnExit. Tan sólo puedes
> devolver FALSO para quedarte en dicho control o VERDADERO para ir a la
> siguiente.
>
> Un saludo,
>
> "Paco V" <ssi@ono.com> wrote in message news:45140321$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>
>> En el evento OnExit de oDbEdit1 llamo al metodo MIRAR
>>
>> *************
>> IF ::oDbfDataSet1:Seek( RTRIM(::oDBEdit1:value) )
>> ::oDBEdit2:value := ::oDbfDataSet1:Nombr
>> ::oDBEdit3:SetFocus()
>> else
>> msgInfo("Agente no existe en la Base de Datos")
>> ::oDBEdit2:SetFocus()
>> ENDIF
>> *************
>>
>> Pues si se cumple la condición funciona OK,
>> Pero si no se cumple no hay forma de salir.
>>
>> ¿Creo que me falta algo?
>>
>> Paco V
>>
>>
>
>

On Exit

Publicado: Lun Sep 25, 2006 10:05 am
por ignacio
Paco,
> Si al introducir un codigo de cliente, este se encuentra en la base de
> datos, pues el foco pasa a la introduccion de su operación. Si no se
> encuentra el codigo, pues va por los controles hasta el final para que se
> rellenen, y despues pasa a la introducción de su operación.
Es lógico si lo pones en el evento OnClick del botón que dispara el proceo
de actualización, pero no si lo pones en la validación de uno de los TEdit.
El evento OnExit se dispará cuando el control pierde el foco, devolviendo
..T. el foco pasa al control que lo solicito, y devolviendo .F. se queda
donde estaba. Estarás de acuerdo conmigo que por pura lógica este sistema es
completamente incompatible con la posibilidad de que por código tu mismo
cambies el foco al control que desees.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
news:4516bfad$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Gracias Ignacio.
> Para mi era logico lo que estaba haciendo.
> Si al introducir un codigo de cliente, este se encuentra en la base de
> datos, pues el foco pasa a la introduccion de su operación. Si no se
> encuentra el codigo, pues va por los controles hasta el final para que se
> rellenen, y despues pasa a la introducción de su operación.
>
> Paco V
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:45162e87$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Paco,
>>
>> No deberías cambiar el foco dentro de un evento OnExit. Tan sólo puedes
>> devolver FALSO para quedarte en dicho control o VERDADERO para ir a la
>> siguiente.
>>
>> Un saludo,
>>
>> "Paco V" <ssi@ono.com> wrote in message
>> news:45140321$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>
>>> En el evento OnExit de oDbEdit1 llamo al metodo MIRAR
>>>
>>> *************
>>> IF ::oDbfDataSet1:Seek( RTRIM(::oDBEdit1:value) )
>>> ::oDBEdit2:value := ::oDbfDataSet1:Nombr
>>> ::oDBEdit3:SetFocus()
>>> else
>>> msgInfo("Agente no existe en la Base de Datos")
>>> ::oDBEdit2:SetFocus()
>>> ENDIF
>>> *************
>>>
>>> Pues si se cumple la condición funciona OK,
>>> Pero si no se cumple no hay forma de salir.
>>>
>>> ¿Creo que me falta algo?
>>>
>>> Paco V
>>>
>>>
>>
>>
>
>

On Exit

Publicado: Lun Sep 25, 2006 1:42 pm
por Paco V
Tu logica es aplastante.
El Exit se ejecuta al picar en el segundo control.
Y yo le digo que se vaya al cuarto. Tonterias mias.
Paco V
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> wrote:
>Paco,
>
>> Si al introducir un codigo de cliente, este se encuentra en la base de
>> datos, pues el foco pasa a la introduccion de su operación. Si no se
>> encuentra el codigo, pues va por los controles hasta el final para que
se
>> rellenen, y despues pasa a la introducción de su operación.
>
>Es lógico si lo pones en el evento OnClick del botón que dispara el proceo
>de actualización, pero no si lo pones en la validación de uno de los TEdit.
>
>El evento OnExit se dispará cuando el control pierde el foco, devolviendo
>.T. el foco pasa al control que lo solicito, y devolviendo .F. se queda
>donde estaba. Estarás de acuerdo conmigo que por pura lógica este sistema
es
>completamente incompatible con la posibilidad de que por código tu mismo
>cambies el foco al control que desees.
>
>Un saludo,
>
>--
>Ignacio Ortiz de Zúñiga
>http://www.xailer.com
>"Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
>news:4516bfad$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Gracias Ignacio.
>> Para mi era logico lo que estaba haciendo.
>> Si al introducir un codigo de cliente, este se encuentra en la base de
>> datos, pues el foco pasa a la introduccion de su operación. Si no se
>> encuentra el codigo, pues va por los controles hasta el final para que
se
>> rellenen, y despues pasa a la introducción de su operación.
>>
>> Paco V
>>
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>> news:45162e87$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>> Paco,
>>>
>>> No deberías cambiar el foco dentro de un evento OnExit. Tan sólo puedes
>>> devolver FALSO para quedarte en dicho control o VERDADERO para ir a la
>>> siguiente.
>>>
>>> Un saludo,
>>>
>>> "Paco V" <ssi@ono.com> wrote in message
>>> news:45140321$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>
>>>> En el evento OnExit de oDbEdit1 llamo al metodo MIRAR
>>>>
>>>> *************
>>>> IF ::oDbfDataSet1:Seek( RTRIM(::oDBEdit1:value) )
>>>> ::oDBEdit2:value := ::oDbfDataSet1:Nombr
>>>> ::oDBEdit3:SetFocus()
>>>> else
>>>> msgInfo("Agente no existe en la Base de Datos")
>>>> ::oDBEdit2:SetFocus()
>>>> ENDIF
>>>> *************
>>>>
>>>> Pues si se cumple la condición funciona OK,
>>>> Pero si no se cumple no hay forma de salir.
>>>>
>>>> ¿Creo que me falta algo?
>>>>
>>>> Paco V
>>>>
>>>>
>>>
>>>
>>
>>
>
>