>>As a workaround, if you can't SetFocus() within the Valid() event, you might postpone it with a Timer (with a brief interval). But I don't know whether this works; perhaps the Valid() will then fire again.
>
>The real problem is that the form that does the setfocus is completely ignorant of the valid event. The valid() is occuring in another form
You could use the aStack() to see if there's a valid, range* etc somewhere on the stack. But it would still be a kludge :).