ACC97: How to Programmatically Add Controls to a Tab Control

ID: Q174497


The information in this article applies to:

Moderate: Requires basic macro, coding, and interoperability skills.


SUMMARY

In Microsoft Access, you can use a tab control to group sets of controls together on different pages. When you select a tab, you see only the controls embedded on that page. Microsoft Access also provides the CreateControl() function, which enables you to programmatically create controls on a Microsoft Access form. This article shows you how to use the CreateControl() function to programmatically create and embed a text box control on a specific page of a tab control.

This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to the "Building Applications with Microsoft Access 97" manual.


MORE INFORMATION

When you use the CreateControl() function to create a control on a specific page of a tab control, you must specify the name of the page that will contain the control as the Parent argument. To create a text box control on the second page of a tab control, follow these steps:

  1. Open the sample database Northwind.mdb.


  2. Create a module and type the following line in the Declarations section if it is not already there:


  3. 
    Option Explicit 
  4. Type the following procedure:


  5. 
          Sub CreateControlOnPage()
             Dim frm As Form, ctl As Control
    
             ' Create a new blank form.
             Set frm = CreateForm()
    
             ' Create a tab control on the new form.
             Set ctl = CreateControl(frm.Name, acTabCtl, acDetail)
    
             ' Create a text box on the form, and specify that Page2 is
             ' the parent of the text box.
             Set ctl = CreateControl(frm.Name, acTextBox, acDetail, "Page2")
             ctl.Top = 0.5 * 1440
             DoCmd.SelectObject acForm, frm.Name
             DoCmd.Restore
          End Sub 
  6. To test this procedure, type the following line in the Debug window, and then press ENTER:
    CreateControlOnPage
    Note that a new form is created, which contains a tab control.


  7. Close the Debug window and click Page 2 of the tab control. Note that it contains an unbound text box control.



REFERENCES

For more information about the CreateControl() function, search the Help Index for "CreateControl Function," or ask the Microsoft Access 97 Office Assistant.

For more information about tab controls in Microsoft Access 97, search the Help Index for "tab controls, overview," or ask the Microsoft Access 97 Office Assistant.

Additional query words: inf TabControl


Keywords          : FmsHowto 
Version           : WINDOWS:97
Platform          : WINDOWS 
Issue type        : kbhowto 

Last Reviewed: August 3, 1999