use View1 nodata local laViewFields(1), laExpressions(1), ln, lcTableField, lcTableRule, lc = ALINES(laViewFields,STRTRAN(CURSORGETPROP("UpdateNameList"),',',CHR(13))) ln = 0 for each lcField in laViewFields lcTableField = substr(lcField,at(' ',lcField)+1) ln = ln + 1 dimension laExpressions(ln,2) laExpressions(ln,1) = lcTableField laExpressions(ln,2) = DBGETPROP(lcTableField,'FIELD''RuleExpression') lcTableRule = 'Check_Field(&lcTableField)' =DBSETPROP(lcTableField,'FIELD','RuleExpression',lcTableRule) endfor private paFieldList(1) select View1 append blank BEGIN TRANSACTION = tableupdate(1,.t.) ROLLBACK for ln = 1 to alen(laExpressions,1) lcTableField = laExpressions(ln,1) lcTableRule = laExpressions(ln,2) =DBSETPROP(lcTableField,'FIELD','RuleExpression',lcTableRule) endfor for each lc in paFieldList ? lc endfor return procedure Check_Field(tcField) local ln if empty(paFieldList) ln = 1 else ln = alen(paFieldList) + 1 endif dimension paFieldList(ln) paFieldList(ln) = tcField return