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.
On Exit
On Exit
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
*************
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
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
>
>
"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
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
>>
>>
>
>
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
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
>>>
>>>
>>
>>
>
>
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
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
>>>>
>>>>
>>>
>>>
>>
>>
>
>
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
>>>>
>>>>
>>>
>>>
>>
>>
>
>
-
- Mensajes: 1831
- Registrado: Mar Oct 11, 2005 9:53 am
On Exit
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/
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/
Ramón Zea
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
On Exit
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
>
>
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
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
>>
>>
>
>
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
>>
>>
>
>
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
On Exit
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
>>>
>>>
>>
>>
>
>
> 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
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
>>>>
>>>>
>>>
>>>
>>
>>
>
>
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
>>>>
>>>>
>>>
>>>
>>
>>
>
>