FoxPro/Visual FoxPro - como saltar el return .f.??

 
Vista:

como saltar el return .f.??

Publicado por neo (296 intervenciones) el 10/07/2006 21:10:46
Saludos de nuevo...

Tengo que validar en un form un textbox y que a su vez se regrese el foco si tal validacion no es correcta.

Ejemplo.

el usuario debe escribir en un form un numero de factura que ya se encuentra en la tabla, si esta factura no se encuentra : le manda un mensaje "Numero de Factura Inexistente"
Para esto utilizo el evento valid:

select 3
set order to tag factura
seek thisform.g2.value
if not found()
?? chr(7)
wait window " Numero de Factura inexistente !!! "
RETURN .f.

Y ahí es donde quiero que no pierda el foco. estoy utilizando el "return .f." si funciona pero si deseo cancelar o salir no me deja hacerlo, necesito cambiar de factura para poder salir de este cuadro de texto.

Ya intenté con Setfocus()

select 3
set order to tag factura
seek thisform.g2.value
if not found()
?? chr(7)
wait window " Numero de Factura inexistente !!! "
Thisform.num_factura.Setfocus()

en vez de "return .f." pero me manda el siguiente error:

Program Error
Cannot call SetFocus from within a when, Valid, RangeHigh or RangeLow event.

Que puedo hacer, como solucionar esto.....

Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:como saltar el return .f.??

Publicado por Ernesto Hernandez (4623 intervenciones) el 10/07/2006 21:19:42
Utiliza el siguiente codigo en el KeyPress de tu formulario

IF nKeyCode=27
thisform.Release && o lo que tu quieras hacer o adonde quieras ir .

ENDIF


Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nkey code=27 no me serviria...

Publicado por neo (296 intervenciones) el 10/07/2006 21:38:41
Gracias por tu respuesta, pero sinceramente no me serviría, porque vamos a pensar que hago lo que dices:

Suponemos que no existe el numero de factura si lo haria bien regresaría el foco al textbox.

Pero si la factura si exsite, haría lo mismo, me pondría en ese textbox y no me saltaría al siguiente...

No hay otra manera de saltar el "Return .f." si deseo cancelar o salir del form?

es decir, un codigo para revertir el "Return .f."

Gracias de Antemano...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:nkey code=27 no me serviria...

Publicado por Ernesto Hernandez (4623 intervenciones) el 10/07/2006 21:46:32
select 3
set order to tag factura
seek thisform.g2.value
if not found()
?? chr(7)
wait window " Numero de Factura inexistente !!! "
RETURN .f.

usa este codigo en el Valid y el anterior en el KeyPress ese es en caso que quieras cerrar la forma. Para salir del text sin cerrar la forma o si la factura no existe no le veo el caso.
Si no existe la factura tengo que capturar de nuevo y si no quiero hacer nada presiono el ESC para salir y listo

SELEC 3
SET ORDER TO TAG FACTURA
IF !SEEK(ThisForm.g2.Value,"FAC",factura)
MESSAGEBOX("Factura no existe...",48,"Sistemas")
RETURN .F.
ENDIF


Y ahí es donde quiero que no pierda el foco. estoy utilizando el "return .f." si funciona pero si deseo cancelar o salir no me deja hacerlo,
aqui te sirver el KeyPress

*Pero si la factura si exsite, haría lo mismo, me pondría en ese textbox y no me *saltaría al siguiente...
como aqui aqui no tedeja ??

*necesito cambiar de factura para poder salir de este cuadro de texto.

y aqui si ?????

Pruebalo ojala te funcione

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tienen Razon Ernesto y Plinio...

Publicado por neo (296 intervenciones) el 10/07/2006 22:08:49
Perdon, pero estaba confundiendo el 27 de nkeycode por el Enter y en Realidad se trata del Esc

Por eso puse eso de que no me serviría, Ahora sé que si presionan sobre Esc podrán Salir del Form.

Y lo de Plinio también es de mucha ayuda, la verdad es que estoy aprendiendo mucho de estedes,

Me gustaría que si tienen msn me lo facilitaran para seguir aprendiendo sobretodo de dudas que tengo.

Gracias

Atte

Saul Piña Hdz.
[email protected]

Nuevo Laredo, Tamaulipas México
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Tienen Razon Ernesto y Plinio...

Publicado por Ernesto Hernandez (4623 intervenciones) el 10/07/2006 23:04:26
Pues ahi lo tienes compañero .

Con gusto despejare tus dudas.

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como saltar el return .f.??

Publicado por Plinio (7841 intervenciones) el 10/07/2006 21:52:53
Prueba poniendo NODEFAULT antes del return .F.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar