Bloquear Registros en blanco Visual Fox Pro
Estimado Experto Unysoft, estoy muy agradecido por sus respuestas anteriores. Esta es mi tercera consulta. Espero pueda echarme una mano. Pasa esto: en el botón "guardar" de mi form, para evitar que el usuario deje registros en blanco en los textboxs, utilice lo siguiente, en click:
Local lcModificado, lcRespuesta
lcModificado = GetFldState(-1)
IF EMPTY("1" $ lcmodificado OR "4" $ lcModificado)
=TABLEREVERT(.F.)
lcRespuesta=MESSAGEBOX("Debe ingresar un registro.", 48, "Error")
ENDIF
De esta manera, si alguien da click en nuevo registro y pretende dejarlo o guardarlo en blanco, sin introducir "ningun" dato, haciendo click en "guardar", el programa revierte la acción y envía el mensaje de error, el registro no se guarda y todo funciona al 100% bien! No obstante, me surge una duda: ¿Cómo puedo hacer para "validar" que el usuario no deje ningún textbox en blanco? Me explico: con el código anterior, solo puedo evitar que se guarden registros en blanco siempre y cuando no se introduzca absolutamente "NADA" en los text. ¿Pero y si el usuario completa solo la mitad de la información? Por ejemplo: de los 5 textbox que tiene el form, si el usuario escribe datos solo en 3 y pretende dejar 2 vacíos, como puedo hacer para que al intentar guardar, el registro no se guarde y le envíe el mensaje "Debe completar el registro" y que no revierta el registro, ¿si no más bien que lo envíe de nuevo a completar el registro? Se me ocurrió "validar" por cada text, así:
If Empty(Thisform.Text1.Value)
=Messagebox("Debe completar registro.", 48, "Error")
Return .F.
Endif
Esto funciona, pero es como que muy complicado estar validando text por text... Y pues más si son muchos textos y formularios...! Espero me comprenda! De antemano, gracias por la atención prestada! Saludos.
Local lcModificado, lcRespuesta
lcModificado = GetFldState(-1)
IF EMPTY("1" $ lcmodificado OR "4" $ lcModificado)
=TABLEREVERT(.F.)
lcRespuesta=MESSAGEBOX("Debe ingresar un registro.", 48, "Error")
ENDIF
De esta manera, si alguien da click en nuevo registro y pretende dejarlo o guardarlo en blanco, sin introducir "ningun" dato, haciendo click en "guardar", el programa revierte la acción y envía el mensaje de error, el registro no se guarda y todo funciona al 100% bien! No obstante, me surge una duda: ¿Cómo puedo hacer para "validar" que el usuario no deje ningún textbox en blanco? Me explico: con el código anterior, solo puedo evitar que se guarden registros en blanco siempre y cuando no se introduzca absolutamente "NADA" en los text. ¿Pero y si el usuario completa solo la mitad de la información? Por ejemplo: de los 5 textbox que tiene el form, si el usuario escribe datos solo en 3 y pretende dejar 2 vacíos, como puedo hacer para que al intentar guardar, el registro no se guarde y le envíe el mensaje "Debe completar el registro" y que no revierta el registro, ¿si no más bien que lo envíe de nuevo a completar el registro? Se me ocurrió "validar" por cada text, así:
If Empty(Thisform.Text1.Value)
=Messagebox("Debe completar registro.", 48, "Error")
Return .F.
Endif
Esto funciona, pero es como que muy complicado estar validando text por text... Y pues más si son muchos textos y formularios...! Espero me comprenda! De antemano, gracias por la atención prestada! Saludos.
1 respuesta
Respuesta de unysoft
1