ACC: How to Use Code to Cycle Through the Controls on a Form

ID: Q132071


The information in this article applies to:
  • Microsoft Access versions 2.0, 7.0, 97


SUMMARY

Advanced: Requires expert coding, interoperability, and multiuser skills.

This article demonstrates a sample user-defined procedure that you can use to create a toggle button on a form that enables you to cycle through the form's controls and set such properties as Locked and Enabled, without having to refer to each control by name.

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 your version of the "Building Applications with Microsoft Access" manual.

NOTE: Visual Basic for Applications is called Access Basic in Microsoft Access version 2.0. For more information about Access Basic, please refer to the "Building Applications" manual.


MORE INFORMATION

To create the toggle button, follow these steps.

CAUTION: Following the steps in this example will modify the sample database Northwind.mdb (or NWIND.MDB in version 2.0). You may want to back up the Northwind.mdb file, or perform these steps on a copy of the Northwind.mdb database.

  1. Open the sample database Northwind.mdb (or NWIND.MDB in version 2.0).


  2. Open the Customers form in Design view.


  3. Add a command button to the form and set the control's properties as follows:
    Name: MyButton
    Caption: Lock All Textboxes


  4. Set the OnClick property of the command button to the following event procedure:
    
          Sub MyButton_Click ()
             Dim i As Integer
             Static status As Integer ' Use variable as True/False flag.
             ' Toggle the button's Caption property.
             If status = False Then
               MyButton.caption = "Unlock All Textboxes"
             Else
               MyButton.caption = "Lock All Textboxes"
             End If
    
             ' Cycle through the form's controls,
             ' testing for text and combo boxes,
             ' and set each control's Locked/Enabled properties.
             For i = 0 To Me.count - 1
             If TypeOf Me(i) Is textbox Then
                Me(i).locked = status: Me(i).enabled = status
             ElseIf TypeOf Me(i) Is combobox Then
                Me(i).locked = status: Me(i).enabled = status
             End If
             Next
             ' Toggle the flag.
             status = Not status
          End Sub 


  5. View the Customers form in Form view, and click the MyButton button once. Note that all the form's controls are disabled. Click the MyButton button again. Note that all the form's controls are re-enabled.



REFERENCES

For more information about controls, search the Help Index for Controls Collections, or ask the Microsoft Access 97 Office Assistant.

Additional query words: report loop object enumerate collection

Keywords : kbusage
Version : WINDOWS:2.0,7.0,97
Platform : WINDOWS
Issue type : kbhowto


Last Reviewed: October 14, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.