Ayuda con el uso de message box y botones en Visual Fox Pro

Hola raven! Necesito tu ayuda con un pequeño problema! Un messagebox que colo colo en el text.valid, no deja de aparecerme cada vez que aprieto cualquier el botón salir, y me aparece el mensaje que tengo en el text.valid, y no me deja salir, si entendiste espero puedas ayudarme je je
Saludos

1 Respuesta

Respuesta
1
Un messageBox se coloca para mostar un aviso sobre si una condición establecida se cumple o no (depende de la situación) y para dar una respuesta en base al cumplimiento o evasión de dicha condición.
Si colocaste un Message en el Valid del text, este te aparecerá SIEMPRE... cada vez que el control (text) pierda el enfoque, es decir, cuando pases de ese text a otro control (podría ser otro text, un botón... etc.). Si en el valid del text tienes un código parecido a este:
Messagebox("Esta es una advrtencia", 0 + 48, "Error")
El mensaje te aparecerá siempre... puesto que no hay ninguna condición a evaluar y el mensaje se disparara automáticamente al perder el enfoque de tu text.
Para que no te aparezca, lo correcto es que construyas una condición a evaluar para que, en dependencia de esta, el message aparezca o no dándote una advertencia. Si quieres te puedo ayudar. Para esto, ¿necesito qué me digas CUAL ES LA FUNCIÓN DEL MESSAGE? ¿Cuándo quieres que aparezca y por que? ¿Qué es lo que pretendes advertir con el text? ¿Me comprendes? Avisame!
Saludos!
A tus ordenes!
Ravenn!! (w.w)!!!
<span style="white-space: pre;"> </span>Entiendo. Yo estoy haciendo en un pageframe, altas, bajas, modifcaciones y consultas y la funcion del message es que al ingresar algun codigo, advierta q este ya existe o no, segun sea, altas, bajas, etc. y quisiera q aparezca en esos casos.
Estas son las lineas de código que tengo en el  valid del text en caso de altas:
seek alltrim(this.value)
if ! eof()
messagebox("El codigo ya existe",0,"Error")
return 0
else
return 1
endif
Intente solucionarlo agregando lo siguiente pero sigue el problema:
if len (alltrim(this.value)) <>0
seek alltrim (this.value)
if ! eof ()
messagebox("El codigo ya existe,0,"Error")
return 0
else
return 1
end if
end if
Gracias de Nuevo! Saludos!
Prueba esto:
IF NOT EMPTY (THISFORM.Text1.Value)
SELECT tutabla
LOCATE FOR campocodigo = (THISFORM.Text1.Value)
IF FOUND()
=MESSAGEBOX("El registro ya existe", 0 + 48, "Error - El registro ya existe")
END IF
Endif
Esto te dirá si el registro ya existe. Pruébalo y me avisas! Si tienes algún problema, házmelo saber!
Saludos!
A tus ordenes!
Ravenn! :D :D :D
Ohh... aplica Return despue del Message!! :D :D :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas