RE:Ayuda: Your changes will be discarded
Hola, es ahi donde tengo el problema al agregar un nuevo cliente, he intentado utilizar los metodos:
- EditFocusChange() para verificar que el registro no se duplique, pero no funciona a las 3 o 5 validaciones bien y luego marca un error.
METHOD EditFocusChange(oEditFocusChangeEvent) CLASS NuevaEscrituraWin
LOCAL oControl AS Control
LOCAL lGotFocus AS LOGIC
oControl := IIf(oEditFocusChangeEvent == NULL_OBJECT, NULL_OBJECT, oEditFocusChangeEvent:Control)
lGotFocus := IIf(oEditFocusChangeEvent == NULL_OBJECT, FALSE, oEditFocusChangeEvent:GotFocus)
SUPER:EditFocusChange(oEditFocusChangeEvent)
//Put your changes here
*oControl:Owner:Server:SuspendNotification()
IF oControl:NameSym == #mNUM .AND. !lGotFocus // Salio del control
IF SELF:Server:Seek( mNUM )
MessageBox(0,"Ya fue dado de Alta !", "Cliente: "+Str(mNUM,5),MB_OK+MB_ICONEXCLAMATION)
oControl:SetFocus()
END IF
END IF
RETURN NIL
- Utilizando la especificación de campo Validation ="{|uValue,oControl, ExisteCli(uValue,oConrol)| } FIELDSPEC de la tabla campo NUM=Clave Cliente
y la funcioón
FUNCTION ExisteClie(xValue,oControl)
LOCAL lFound
LOCAL lValRetorno := .T. AS LOGIC
LOCAL i AS WORD
IF ( oControl:Owner:Server:Seek( xVar ) )
MessageBox(0,"Ya fue dado de Alta !", "Cliente: "+Str(xVar,5),MB_OK+MB_ICONEXCLAMATION)
lValRetorno := .F.
ELSE
lValRetorno := .T.
END IF
RETURN lValRetorno
* UTILIZO variables intermedias de edición la estilo Clipper, que podra ser...?