Microsoft Access Performance Tip for Forms:
Late Binding for Subforms on Tab Pages
Provided by: FMS Development Team
The Microsoft Access tab controls makes it easy to show a different subform
on each tab page. Unfortunately, it you add too many, the form may take a
long time to open. This is because it's loading all the data in each of the
subforms even though only page 1 is shown.
To speed up your MS Access form, you can design it with the subforms on page
2 and beyond remain unbound until the user clicks on its page.
This on-demand technique allows the main form to load without trying to
populate all of the subforms.
This sample VBA code is for a tab control named tabStuff. We refer to the page by
name rather than number because you may reorder or add/delete tabs over
Private Sub tabStuff_Change()
Select Case tabStuff.Pages.item(tabStuff.Value).Name
' Where sfrm1 is the name of the subform on page 1
If Len(sfrm1.SourceObject) = 0 Then
sfrm1.SourceObject = "frmStuff_1"
sfrm1.LinkChildFields = "StuffID"
' Where sfrm2 is the name of the subform on page 2
If Len(sfrm2.SourceObject) = 0 Then
sfrm2.SourceObject = "frmStuff_2"
sfrm2.LinkChildFields = "StuffID"
' Repeat for each tab page