Ogart, you can go to View/Tab Order in form design, tell it to AutoOrder to get it in the basic order indicated by the field placement on the screen, then modify the auto-ordered fields manually using drag/drop. I had the same problem. My recommendation is to do all of your development and not worry about tab order until the very end, or else you will end up having to re-order the tabs multiple times, and it's a pain.
OK, after analyzing this some more, the BeforeUpdate method, which will cancel the update if the flag is set to true, is causing this whole problem.
I want to tab into the subform no matter what. BUT, when the main form loses focus, if I've changed any field before trying to go to subform, Access tries to do its handy-dandy automatic save. I set up the BeforeUpdate to cancel any saves that DO NOT go through an authorized channel (like clicking on the Save button and calling my Save method) because the automatic save feature causes inconsistency in my data (it only saves the record, not any of the unbound fields I have to manually save along with it, etc, plus it saves at inappropriate times -- like going to the subform!). So that's why my main form has this "BeforeUpdate cancel" concept.
When trying to tab to subform, it can't focus on the subform, because the main form "lost focus" tries to do the automatic update, and it goes to a line of code that checks my before update cancel flag. Because the focus has now shifted back to the main form, the subform loses focuses again and doesn't get re-activated. I don't see how I can code around this.
Seems to me if the subform's "gotfocus" is wanting to run, the main form's "lost focus" should simply complete and then continue on to the subform's got focus. But instead, my main form's lost focus activities are causing the subform's got focus" to basically abort. This seems like an Access "undocumented feature" (bug). Am I making sense?
And yet I can't remove this before update event, I absolutely must have it. I can't win either way, unless someone can think of some additional hack I can do to fix this.
Since the issue seems to be this got focus/lost focus/before update sequence more than anything now, do you think I should re-post this message with the question: Subform's GotFocus event being aborted by Main Form's BeforeUpdate event. How to work around? Now that I tried this tip from you, TOTCOM11, it's helping me to drill down into what the real issue is.