AFAIK, events doe not execute when a control is changed by code. You can/could call events to execute code.
The change event is mostly not used because it fires after each keypress. For example, if you wanted to limit what is entered into a textbox control to just even numbers, you could have code that checks to see if the character entered is an even number.
I've only used the Dirty property at the form level to check if something changed on the form.
Example code to call other code:
Code:
Private Sub Command0_Click() 'button name
Me.txtMyTextbox= "New Data in My Textbox"
Call txtMyTextbox_AfterUpdate
End Sub
Private Sub txtMyTextbox_AfterUpdate()
Me.txtMyTextbox.BackColor = vbYellow
End Sub