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

ID: Q132071

The information in this article applies to:

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           : 2.0 7.0 97
Platform          : WINDOWS
Hardware          : x86
Issue type        : kbhowto

Last Reviewed: November 20, 1998