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.
- Open the sample database Northwind.mdb (or NWIND.MDB in version 2.0).
- Open the Customers form in Design view.
- Add a command button to the form and set the control's properties as
follows:
Name: MyButton
Caption: Lock All Textboxes
- 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
- 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