>>IF !empty(this.controlsource) >> WITH this >> IF .Value<>EVAL(.controlsource) >> lIsField=.F. >> nDots=OCCURS(".",.controlsource) >> DO CASE >> CASE nDots > 1 && object property >> lIsField=.F. >> CASE nDots = 1 && property or field >> uObjTest=SUBSTR(.controlsource,1,AT(".",.controlsource)-1) >> uPropTest=ALLTRIM(SUBSTR(.controlsource,AT(".",.controlsource)+1)) >> IF TYPE(uObjTest)="O" >> IF PEMSTATUS(EVAL(uObjTest),uProptest,5) && property exist >> lIsField=.F. >> ELSE >> && assume controlsource is a field >> lIsField=.T. >> ENDIF >> ELSE >> && assume controlsource is a field >> lIsField=.T. >> ENDIF >> OTHERWISE && nDots=0 >> * simple test, if fsize=0 it's not a field >> IF FSIZE(.controlsource) = 0 >> lIsField=.F. >> ELSE >> lIsField=.T. >> ENDIF >> ENDCASE >> IF lIsField && field >> cReplace="REPLACE "+.controlsource+" WITH "+; >> IIF(TYPE(".value")="N",ALLTRIM(STR(.value)),; >> IIF(.value=.t.,".T.",".F.")) >> &cReplace >> ELSE &&property or variable >> cReplace=.controlsource+" = "+; >> IIF(TYPE(".value")="N",ALLTRIM(STR(.value)),; >> IIF(.value=.t.,".T.",".F.")) >> &cReplace >> ENDIF >> ENDIF >> ENDWITH >>ENDIF >> >>>
lcAlias=juststem(.controlsource) if lcalias#.controlsource and used(lcAlias) * we have a table else * not a table - check whether it's a property, variable etc endif