Here's a thought, perhaps expressed differently than has been expressed by others.
Rather than use a sub-form control, I actually make a form's command button launch a separate form from the main control form, which otherwise is mostly unbound. (It is the "mostly" part that still gives me grief sometimes.) A sub-form has to be ready to go quickly (in Access terms) but if it is a separately launched form, you get some benefits.
1. The data on the separate form is more isolated in nature i.e. narrowly focused - and therefore MIGHT represent a smaller data set, so the recordset initialization is possibly faster in such cases.
2. The separate form load is going to cost less than loading a bunch of smaller but data-rich tabs with sub-form. EVERY CONTROL has to be realized (during the Form_Load event) before you ever get to the Form_Current event.
3. Any form for which you DON'T click the button never loads doodlum-squat and therefore never takes up ANY time to load.
4. If you have to consult data from your main form, all of its controls are available with syntax for looking at controls on any other open form, whether or not the open form is visible and "on top" at the moment.
The down side is that you might need to use some code to maximize or otherwise manipulate the form's child windows to keep things from getting visually "messy."
There have been several articles on the topic of "maximize form window" so I'll let you search the forum for that topic. In essence, you define some external Windows entry points and use a particular property of each form that identifies the form's child-window "handle." Having that, you have control of all sorts of neat effects. For instance, one I happen to like is that I can minimize a form before I actually close it. It gives the appearance of closing faster than it really does because you can't see it any more. If you have to do some data manipulation or event logging behind the scenes, a minimized form can still do that.