>Yup...it don't work. So what I do in these situations is to set the ControlSource to a container property and create an Assign for that property. In the Assign I update the backend (real) ControlSource with a REPLACE.
Thats more like a Valid than a Value_Assign, the way to do it would be puting something like:
if pemstatus(this, 'value_assign', 5)
this.value_assign(this.value)
endif
in the IA and ProgrammaticChange events, but why? Dunno. Here's my theroy on why using the UI to change a controls value doesn't fire the Value_Assign Method: because displaying the Control's value would have to go through the Value_Access method, and if their was a control source involved, I have the feeling it would get a little messy, if not slow.
In any case, the Change events are apart of the base class so instance code can be added easily and provide all teh functionality you'll need.