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

Last reviewed: August 29, 1997
Article 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 command button's OnClick property 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 PgmHowTo
Version : 2.0 7.0 97
Platform : WINDOWS
Hardware : x86
Issue type : kbhowto


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: August 29, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.