FoxPro/Visual FoxPro - Validar datos

 
Vista:
sin imagen de perfil

Validar datos

Publicado por Carlos Veron (19 intervenciones) el 04/11/2004 16:16:03
Hola a todos, necesitaría ayuda en el siguiente problemas, necesito validar un campo cuando lo ingreso, yo hice lo siguiente en el evento LostFocus controlo por ejemplo que el campo no sea blanco en otro caso un dígito verificador de un numero, todo esto funciona bien pero cuando yo quiero regresar al campo que se ingreso de forma incorrecta
mediante THISFORM.txtcampo.SETFOCUS y en la línea siguiente THISFORM.REFRESH y también probé con un RETURN .f., no logro que el campo reciba el enfoque. Si realizo la validación en el evento VALID me da un error de que no puedo llamar un SETFOCUS. Le comento las tablas son libres se abren al cargar el formulario, no están dentro del entorno de datos.
Y una cosa mas si yo tengo tres campos campo1, campo2, campo3 el primer campo se ingresa correcto, estoy con el enfoque en el campo2, decido cancelar él ingreso del registro, para eso tengo un botón deshacer, pero cuando lo pico me sigue validando el campo2, como se puede hacer para saltar los controles volver al principio, seria algo como edición...deshacer lo que quiero hacer.
Muchas gracias.
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

RE:Validar datos

Publicado por Roman Suazo (2723 intervenciones) el 04/11/2004 16:27:38
LostFocus controlo por ejemplo que el campo no sea blanco en otro caso un dígito verificador de un numero, todo esto funciona bien pero cuando yo quiero regresar al campo que se ingreso de forma incorrecta
mediante THISFORM.txtcampo.SETFOCUS y en la línea siguiente

Haz la validacion en el evento VALID nada mas, no llames a otro evento no es necesario. Prueba con algo asi:

if Empty(this.value)
=Messagebox("El campo esta vacio, etc,32,"Error")
return .F.
endif

Para poder "cancelar" una validacion pon lo mismo en el evento valid, nada mas que le haces la pregunta al usuario si quiere cancelar la validacion, todo esto con la funcion MESSAGEBOX, es decir, segun la repuesta que te de usas RETURN .T. o RETURN .F.

Lo mejor para mi es siempre usar un metodo de validacion el cual se ejecuta antes de guardar los datos asi haces el chequeo de todos los campos de un solo y no incomoda tanto el uso de la app al usuario al tener que recibir tantos mensajes de validacion...
Asi si el valor esta vacio no se sale el enfoque del control
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