Antes de Guardar ver si contienen datos

Hola amigos que tal, tengo un formulario en el cual tengo un boton guardar pero ya lo tengo programado pero yo quisiera que el boton guardar evaluara los text si contienen datos o no. Por ejmplo el boton lo tengo de la siguiente manera
if messagebox("Desesa Guardar el registro actual",4+32,"GUARDAR REGISTRO")=6
----------------GUARDAR REGISTRO-------------------
else
Endif
Pero yo quisiera que antes del if hiciera la evaluación, en los textbox tengo valores numéricos y caractes..
Agradeceré la ayuda

1 Respuesta

Respuesta
1
Esto es muy sencillo. Lo evaluás con la función EMPTY(). Esta función devuelve .T. o .F. según esté vacío o no un valor, sin importar que tipo de datos sea (en la ayuda de Fox te aclara más)
Por ejemplo:
if NOT EMPTY(ThisForm.Text1.Value) AND messagebox("Desesa Guardar el registro actual",4+32,"GUARDAR REGISTRO")=6
----------------GUARDAR REGISTRO-------------------
else
Endif

Este agregado al IF primero evalúa si el text1 está vacío o no. Si NO está vacío, te pregunta si querés guardar; si está vacío, no te pregunta nada.
Espero te sirva.
Saludos.

Bueno que tal amigo.. gracias por la ayuda y la dedicación de tiempo que tomas al leer la pregunta.. mira te cuento que lo puse de esta manera y funciona bien.. pero...
WITH THISFORM
IF NOT EMPTY(.txtnombre.value)and MESSAGEBOX("DEsea guardar",4+32,"GUARDAR")=6 THEN
    SELECT datos
    APPEND BLANK
    replace codigo WITH .txtcodigo.value
    replace nombre WITH .txtnombre.value
    replace apellido WITH .txtapellido.value
    replace telefono WITH .txttelefono.value
    .txtcodigo.value=0
    .txtnombre.value=""
    .txtapellido.value=""
    .txttelefono.value=0
ELSE
        IF EMPTY(.txtnombre.value)then
            MESSAGEBOX("Debe contener datos", 0+16,"Caja de texto vacía")
        Endif
Endif
endwith
**pero como hago para que evalue mas de un textbox???? por ejemplo que yo quisiera codigo,nombre,apellido.. y al mostrar el messagebox este me diga cual es el textbox que necesita ingresar el dato...
Gracias...
Encadená las cosas:
IF NOT EMPTY(ThisForm.txtcodigo.Value) AND NOT EMPTY(ThisForm.txtnombre.Value) AND NOT EMPTY(ThisForm.txtapellido.Value) AND NOT EMPTY(ThisForm.txttelefono.Value) AND MESSAGEBOX("DEsea guardar",4+32,"GUARDAR")=6
...
O sino, para que quede un poco mejor:
LOCAL sTxtAviso
sTxtAviso = ""
IF EMPTY(ThisForm.txtcodigo.Value)
        sTxtAviso = sTxtAviso + "código, "

ENDIF
IF EMPTY(ThisForm.txtnombre.Value)
        sTxtAviso = sTxtAviso + "nombre, "
ENDIF

IF EMPTY(ThisForm.txtapellido.Value)
        sTxtAviso = sTxtAviso + "apellido, "
ENDIF

IF EMPTY(ThisForm.txttelefono.Value)
        sTxtAviso = sTxtAviso + "teléfono, "
ENDIF

IF NOT EMPTY(sTxtAviso) && Si hay algo quiere decir que falta completar algún campo
     sTxtAviso = LEFT(sTxtAviso, LEN(sTxtAviso) - 2) && Le saco la última coma

     MESSAGEBOX("Debe completar " + sTxtAviso, 64, "Atención!")
     RETURN

ELSE   && Están todos los campos completos

     IF MESSAGEBOX("Guarda los datos ?", 36, "Guardar") = 6
          **** Guardar *****

     ELSE
          **** NO Guardar *****
ENDIF

ENDIF

Esto que te puse es una alternativa, obviamente se puede mejorar mucho más todavía.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas