THIS.WriteToViewDBC()
BO.WriteToViewDBCSCAN = DBSETPROP("l" + v_mFieldDefaultsValids.cViewFldName, "FIELD", "DefaultValue", v_mFieldDefaultsValids.mDefault) = DBSETPROP("l" + v_mFieldDefaultsValids.cViewFldName, "FIELD", "RuleExpression", v_mFieldDefaultsValids.mValidate) = DBSETPROP("l" + v_mFieldDefaultsValids.cViewFldName, "FIELD", "RuleText", v_mFieldDefaultsValids.mValidMsg) ENDSCANTextBox.Valid()
THIS.CheckValidations()
TextBox.CheckValidations()LOCAL lcValidation lcValidation = DBGETPROP("l" + THIS.CONTROLSOURCE, "FIELD", "RuleExpression") IF (!EMPTY(lcValidation)) AND (!EVALUATE(lcValidation)) = MESSAGEBOX(IIF(TYPE(THIS.cAssociatedLabel + ".CAPTION") = "C", ; EVALUATE(THIS.cAssociatedLabel + ".CAPTION") + ": ", "") + ; EVALUATE(DBGETPROP("l" + THIS.CONTROLSOURCE, "FIELD", "RuleText"))) ENDIF>>>OK so you want to manage from another table as metadata. How about doing your way but changing default/validation for view once at a suitable place (typically when metadata is edited and saved).
>>>open data myData >>>select metadata >>>scan >>> lcViewField = trim(VievName -'.'-ViewFieldName) >>> DBSetProp(lcViewField,"FIELD","RuleText",FieldRuleText) >>> DBSetProp(lcViewField,"FIELD","RuleExpression",FieldRuleExpr) >>> DBSetProp(lcViewField,"FIELD","DefaultValue",FieldDefaultExpr) >>>endscan >>>Cetin