>I believe valid does not fire if the form is intercepting keystrokes and does something based on that. I could be wrong - VFP is proving me to be very stupid!
>
>What I really need to know is when the controlsource value in the buffer changes.
Calvin,
The controlsource changes just before Valid fires.
The event sequence is very easy to understand until you write code that changes it. Take a moment and create a test form, put in two textboxes and then check the event tracking in the debugger for Valid and lostfocus. You can then write code in the form's keypress and see if that changes the sequence of events on the textboxes.
You can put this in the keypress to see when the controlsource changes;
IF nKeyCode = 9 && Tab
DEBUGOUT EVAL(This.ControlSource)
ENDIF
then in the valid put the same thing and check the debugout window in the debugger.
If your code requires absolute understanding of the event sequence you will need to study it for yourself.