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



APPLIES TO

  • Microsoft Access 97 Standard Edition



This article was previously published under Q174497

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:

    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
             DoCmd.Restore
          End Sub
                        
  4. 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.
  5. 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: kbhowto kbprogramming KB174497