Mark,
The complexity doesn't have to be so bad. Set the tmr.Enabled .t. in the cbo.GotFocus, in the cbo.IAC() call tmr.Reset(), set the tmr.Enabled = .f. in the cbo.LostFocus(). In the tmr.Timer() event issue the Requery()
>I have thought about the InteractiveChange but that could fire off the requery too often and degrade performance. I thought about LostFocus but then nothing is refreshed or requeried until the control loses focus. The user wonders why nothing is happening. I thought about a timer to start when InterActiveChange fires. If a certain amount of time lapses, then fire requery. This adds more complication than may be necessary.