Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/174497

From BetaArchive Wiki
Knowledge Base

ACC97: How to Programmatically Add Controls to a Tab Control

Article ID: 174497

Article Last Modified on 1/20/2007


  • Microsoft Access 97 Standard Edition

This article was previously published under Q174497

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


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.


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:

    Option Explicit
  3. Type the following procedure:

          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
          End Sub
  4. To test this procedure, type the following line in the Debug window, and then press ENTER:


    Note that a new form is created, which contains a tab control.
  5. Close the Debug window and click Page 2 of the tab control. Note that it contains an unbound text box control.


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: kbhowto kbprogramming KB174497