FoxPro/Visual FoxPro - CONTROLAR MENSAJES DE ERROR

 
Vista:

CONTROLAR MENSAJES DE ERROR

Publicado por JESUS (4 intervenciones) el 22/06/2001 18:48:48
HOLA A TODOS.
QUISIERA PODER ENVIAR MENSAJES DE ERROR AL USUARIO Y CONTROLAR LA RESPUESTA DE ESTE PARA
PERMITIRLE SEGUIR AVANZANDO EN EL FORMULARIO O NO.
POR EJEMPLO.- EL USUARIO INTRODUCE UN CODIGO DE CLIENTE QUE NO EXISTE Y YO LE MANDO UN
MEESAGEBOX("ERROR EN CODIGO DE CLIENTE") - PERO NO QUIERO QUE PUEDA PASAR AL SIGUIENTE CAMPO
HASTA QUE NO INTRODUZCA UN CODIGO CORRECTO, PERO NO SE COMO HACERLO.

ME DICEN QUE HAY QUE HACER UN FORMULARIO INDIVIDUAL PARA CADA CAMPO, PERO DEBE DE HABER OTRA
SOLUCION.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CONTROLAR MENSAJES DE ERROR

Publicado por wences (457 intervenciones) el 22/06/2001 18:59:07
Soluciones tienes muchas distintas ...

1- Desactiva todos los campos del formulario excepto ese que necesitas y no actives los demas mientras no tenga un codigo correcto , es mas facil de hacer si usas paginas , ya que solo tienes que desactivar la pagina , aunque tanbien puedes usar un codigo simple como por ejemplo :

THIS.SETALL("Enabled",.F., "Cbo")
THIS.SETALL("Enabled",.F., "Txt")

asi desactivas los campos o los activas ....

2- Usa una variable o puedes usar una de las que lees y si esta en blanco al posicionarse en cualquier campo lo devulves al cliente , como, pues llamando a un metodo del formulario en los when o una validacion de clase devolviendo .F. si no cumple la condicion ... que no quieres escribir mucho , crea una clase textbox y añadele esa llamado con parametros y ya no tienes que escribir mucho ...

Seguro que si le das vueltas encontraras mas soluciones ...

Espero te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONTROLAR MENSAJES DE ERROR

Publicado por Ruddy A. (21 intervenciones) el 22/06/2001 19:28:47
Utiliza el evento Valid .
haces tu condicion y
con return 0 ( haces que permanezca siempre en el campo)
con return 1 ( puede desplazarse a cualquier campo)

Saludos
Armando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CONTROLAR MENSAJES DE ERROR

Publicado por Charles Benzon (340 intervenciones) el 24/06/2001 04:23:19
Buenas,
Hay una manera basica que puedes hacer tus validaciones y es:
1.- En cada evento LostFocus de l objeto que quieras validar haces un salto a la tabla para verificar si esta correcto el dato, por ejemplo si fuera un campo llamado "Id" en la tabla "cliente" con un indice "Id", puedes poner el codigo:

* (Evento LosFocus)
if !seek(this.value,"cliente","id")
* No lo encontro
=messagebox("Codigo de Cliente No Encontrado" + chr(13) + ;
"Ingrese un codigo Correcto",0,"Advertencia!!"
this.setfocus
return .f.
endif
* El codigo es correcto, continuar

* Tambien puedes poner el codigo en Valid, pero es mas estricto.

La otra posibilidad es que construyas un formulario simulando lo que hace el Messagebox, pero en este caso mas personalizado para que te sirva con un proposito general.

Saludos.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar