Quick Find: Search for:
Free Resources
from FMS
 

Demos

Email Newsletter

Technical Papers

Tips and Techniques

Links

Book Recommendations

View all FMS products for Microsoft AccessMicrosoft Access Resource Center

 

 

"Thank you! Thank you!
I just finished reading this
document, which was part of a link in the recent Buzz newsletter. I have printed it for others to read, especially those skeptical on the powers of Access and its capabilities.
" 
- Darren D.
 
  

 

Late Binding Subforms in Tab Pages on Microsoft Access Forms

Provided by: Steve Clark, Senior Project Manager

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 named tabStuff. We refer to the page by name rather than number because you may reorder or add/delete tabs over time:

Private Sub tabStuff_Change()

  Select Case tabStuff.Pages.item(tabStuff.Value).Name

    Case "pg1"
      ' Where sfrm1 is the name of the subform on page 1
      If Len(sfrm1.SourceObject) = 0 Then
        sfrm1.SourceObject = "frmStuff_1"
        sfrm1.LinkChildFields = "StuffID"
      End If

    Case "pg2"
      ' Where sfrm2 is the name of the subform on page 2
      If Len(sfrm2.SourceObject) = 0 Then
        sfrm2.SourceObject = "frmStuff_2"
        sfrm2.LinkChildFields = "StuffID"
      End If

    'Repeat for each tab

    End Select

End Sub

Return to the tips page

Questions  l   Web questions: Webmaster   l   Copyright © 2008 FMS, Inc.

Celebrating 21 Years of Software Excellence