FoxPro/Visual FoxPro - Validar un campo

 
Vista:

Validar un campo

Publicado por Hugo Alessandro (9 intervenciones) el 18/04/2001 06:22:16
Quiero validarlos datos por el campo DNI y este codigo funciona perfecto salvo un wait windows que hace y dice"Entrada no valida"
Alguien puede decirme como hago para que no salga
el codigo que utilizo en el procedimiento valid del objeto es el siguiente....
Gracias

SELE personal1
LOCATE for personal1.dni=this.value
IF found()
MESSAGEBOX "D.N.I.existente...",16,"Mensage")
this.value=" "
RETURN .f.
ELSE
RETURN .t.
ENDIF
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:Validar un campo

Publicado por Foxperto (894 intervenciones) el 18/04/2001 18:24:08
Hola Hugo:

Tu campo DNI de que tipo es, supongo que es caracter.

Lo mas seguro es que tu objeto This.Value, en la propiedad caption este asignado al campo DNI y el campo no sea caracter o en los desencadenantes del registro el campo DNI no acepte el valor que le estas dando.

Ese mensaje ocurre cuando a un campo tratas de darle un valor o un tipo de dato no valido... Ej. DNI es de tipo Numerico y tratas de darle un Valor caracter.

Bueno prueba y me cuentas.

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

RE:Validar un campo

Publicado por Fer (7 intervenciones) el 18/04/2001 20:14:42
Hola hugo...
Primero te voy a dar un consejo que no tiene nada que ver con tu problema... no utilices el comando LOCATE porque cuando tienes una cantidad considerable de registros es sumamente LENTO, En vez de utilizar LOCATE utiliza el comando SEEK ....

ok el problema que tu tienes es muy simple... En vez de devolver .F. cuando consigas el D.N.I devuelve 0 (Cero), y cuando no lo consigas en vez de devolver .T. devuelve 1 (Uno).

Saludos...
Fer.
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:Validar un campo

Publicado por Fer (7 intervenciones) el 18/04/2001 20:19:53
el Código seria así:

SELE personal1
LOCATE for personal1.dni=this.value
IF found()
MESSAGEBOX "D.N.I.existente...",16,"Mensage")
this.value=" "
RETURN 0
ELSE
RETURN 1
ENDIF

y el codigo sin el LOCATE (Por supuesto agregando un indice al campo DNI)

SELE personal1
SEEK this.value
IF found()
MESSAGEBOX "D.N.I.existente...",16,"Mensage")
this.value=" "
RETURN 0
ELSE
RETURN 1
ENDIF
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