Validar cajas

Hola keystone, quiero validar el ingreso de datos, si no ingreso nada que me muestre un cuadro de dialogo avisándome que tengo que ingresar dicho dato, estoy haciendo esto en el evento keypress de la caja de texto txtIdcomp, suponiendo que no ingreso nada en dicha caja, pero al hacer clic en el botón aceptar el foco pasa a la siguiente caja de texto (txtFechaemision)y debería volver a la caja (txtId) para ingresar algún dato, ¿tiene algo que ver el orden de tabulación?. De ser así como elimino ese orden.
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nkeycode=13 AND EMPTY(thisform.txtIdcomp.Value) AND thisform.txtIdcomp.Value=0
IF MESSAGEBOX("Ingrese número correlativo...!",0,"Aviso")=1
thisform.txtIdcomp.SetFocus
RETURN .f.
ENDIF
ELSE
thisform.txtFecha_emision.SetFocus
Endif

1 Respuesta

Respuesta
1
Espero poder ayudarte..
NO uses el keyPress, mejor usa el valid..
Pone así..
if empty(thisform.txtIdcomp.Value) and thisform.txtIdcomp.Value=0
=MESSAGEBOX("Ingrese número correlativo...!",0,"Aviso")
return 0
Endif
Que no se pierda el enfoque lo logras con return 0 (cero)
Considera que por ahí el usuario se quiere ir del form y queda mal que tenga que poner un dato. Para eso.. al botón cancelar (o salir) del form ponele la propiedad cancel en .t., esto hará que sea la tecla escape por defecto..
Al valid del botón le pones antes de todo:
if lastkey()=27
return
Endif
Bueno, espero que te sirva y que soluciones tu problema
Estoy a tu disposición..
Keystone - Christian
www.keystone.com.ar

Añade tu respuesta

Haz clic para o