ACC2000: How to Use Code to Cycle Through the Controls on a Form (210252)



The information in this article applies to:

  • Microsoft Access 2000

This article was previously published under Q210252
Advanced: Requires expert coding, interoperability, and multiuser skills.

This article applies to a Microsoft Access database (.mdb) and to a Microsoft Access project (.adp).

SUMMARY

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.

MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. CAUTION: If you follow the steps in this example, you modify the sample database Northwind.mdb. You may want to back up the Northwind.mdb file and follow these steps on a copy of the database.

To create the toggle button, follow these steps:
  1. Open the sample database Northwind.mdb.
  2. Open the Customers form in Design view.
  3. Add a command button to the form and set the control's properties as follows:
       Command button
       ---------------------------
       Name: MyButton
       Caption: Lock All Textboxes
       OnClick: [Event Procedure]
    					
  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 i
       ' 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, click Microsoft Access Help on the Help menu, type ControlsCollections in the Office Assistant or the Answer Wizard, and then click Search to view the topics returned.

Modification Type:MajorLast Reviewed:6/23/2005
Keywords:kbhowto kbusage KB210252