bgv,
What version of Access are you using? I'm using Access XP. I have tried repeateadly to reproduce the behavior you describe, and I can't. To test it, I have a little form bound to a table, with 5 fields in it. I used the code I posted earlier to prevent leaving a certain field blank, and it works perfectly every time. No matter how I try to leave the record, whether via Tab, Enter, Navigation Buttons, or the Close button, the BeforeUpdate event fires every time and dumps me back into the null field. The only exception is clicking the close button. After responding to the initial MsgBox, a "You can't save this record at this time" message appears, and clicking Yes closes the form without saving, clicking No dumps me back into the null field.
I *have* witnessed such behavior on occasion (at least the setfocus part) when using the BeforeUpdate event of a field, but not on the form BeforeUpdate. I'm stumped...
Ken S.