FoxPro/Visual FoxPro - falla en validacion

 
Vista:
sin imagen de perfil

falla en validacion

Publicado por eduardo (139 intervenciones) el 05/07/2007 21:44:01
tengo un form en el cual tengo 3 botones alta baja modif.
cuando hago clik en alta ,abro un form con tres text box
y un boton guardar .el tema es que tengo un if que valida si el codigo
de producto ya existe.el codigo del boton guardar es:

SELE PRECIOS
SET ORDER TO PREART
LOCAL BUSCO
BUSCO=ALLTR(THISFORM.TEXT1.VALUE)
wait wind busco
IF SEEK(ALLTR(BUSCO))
MESSAGE("EL ART YA EXISTE")
THISFORM.TEXT1.SETFOCUS
ENDIF
DO CASE
CASE EMPTY(THISFORM.TEXT1.VALUE)
MESSAGEBOX("EL CAMPO CODIGO ESTA VACIO")
THISFORM.TEXT1.SETFOCUS
CASE EMPTY(THISFORM.TEXT2.VALUE)
MESSAGEBOX("EL CAMPO DESCRIPPCION ESTA VACIO")
THISFORM.TEXT2.SETFOCUS
CASE EMPTY(THISFORM.TEXT3.VALUE)
MESSAGEBOX("EL CAMPO PRECIO ESTA VACIO")
THISFORM.TEXT3.SETFOCUS
ENDCASE
APPEND BLANK
REPLA CODART WITH (THISFORM.TEXT1.VALUE)
REPLA DESC_ARTIC WITH (THISFORM.TEXT2.VALUE)
REPLA PRECIO WITH VAL(THISFORM.TEXT3.VALUE)
STORE " " TO THISFORM.TEXT1.VALUE,THISFORM.TEXT2.VALUE,THISFORM.TEXT3.VALUE
THISFORM.TEXT1.SETFOCUS
THISFORM.REFRESH

puse un wait para ver si en busco carga el codigo correcto y veo el codigo (le pongo uno que ya existe),
pero sin embargo me da el alta igual.

gracias por la ayuda
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:falla en validacion

Publicado por Plinio (7841 intervenciones) el 05/07/2007 21:59:39
En esta parta agrega un RETURN .F.

IF SEEK(ALLTR(BUSCO))
MESSAGE("EL ART YA EXISTE")
THISFORM.TEXT1.SETFOCUS
return .f.
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
sin imagen de perfil

RE:falla en validacion

Publicado por neo (1604 intervenciones) el 06/07/2007 14:54:53
Yo lo haría asi:

en el evento Valid del boton guardar:

Select Precios
Set Order to Preart

If Empty(Thisform.text1.value)
MESSAGEBOX("EL CAMPO CODIGO ESTA VACIO")
Return 0
else
If Empty(Thisform.text2.value)
MESSAGEBOX("EL CAMPO DESCRIPCION ESTA VACIO")
Return 0
else
If Empty(Thisform.text3.value)
MESSAGEBOX("EL CAMPO PRECIO ESTA VACIO")
Return 0
else

Locate for Upper(Precios.busco) =Upper(Alltrim(Thisform.text1.value))
If Found() then
Messagebox("EL ART YA EXISTE")
Return 0
else
Append Blank
Replace Codigo With Thisform.text1.value
Replace Desc_Art With Thisform.text2.value
Replace Precio With Thisform.text3.value
Wait Window "Datos Almacenados" Nowait
STORE " " TO THISFORM.TEXT1.VALUE,THISFORM.TEXT2.VALUE,THISFORM.TEXT3.VALUE
THISFORM.TEXT1.SETFOCUS
THISFORM.REFRESH
endif
endif
endif
endif

************************FIN

Suerte►
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