Restringir texbox en vfp

Texbox1=100,000.00
texbox2=""
como hago para que el valor que ingrese en el textbox2 si no es mayor a texbox1 me muestre un mensaje de que debe ser mayor y que se quede en el texbox2
yo tengo esto en el valid del textbox
if thisform.txtlim_temp.value< thisform.txtlim_act.value then
=messagebox("El monto debe ser mayor a la linea actual")
Endif
Respuesta
1
Espero poder ayudarte:
Es así. En el evento valid del textbox, siempre al final vuelve .t. (hay un return .t. aunque no lo veamos)
Si quieres que el mensaje sea el tuyo, como mostrás en tu código, debes poner return 0
Entonces, sería:
if ...
=messagebox("El monto debe ser mayor a la linea actual")
return 0
Endif
Ahora aquí hay un tema. Si el usuario no sabe el dato o quiere salir de la pantalla, deberías ver de no validar el dato. Supone que el botón cancelar de tu formulario se llama "cancelar", entonces tu código debería ser algo así:
if lastkey()=27   &&La ultima tecla es escape
        thisform.cancelar.click
        return
endif
if ...
=messa..
¿Se entiende? El tema es no dejar "atrapado" a un usuario en un campo si lo que quiere es salir y con return 0 pasa eso, hasta que el dato no sea válido, no sale del campo
Otra opción a esto es sugerirle el valor al usuario, un valor que le sirva. Algo así:
if ...
=messagebox('el monto deber ser mayor a la linea actual')
         thisform.value=thisform.text1.value+1
         return 0
endif..
Entonces el usuario recibe el mensaje, se pone un dato válido y se queda, en el próximo valid saldría porque ya tiene un valor válido.
Espero haberte ayudado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas