The information in this article applies to:
- Microsoft Access versions 2.0, 7.0, 97
SUMMARY
Moderate: Requires basic macro, coding, and interoperability skills.
You can use the SetFocus method for forms and form controls in Microsoft
Access to select a field or control on an open form, form datasheet,
table datasheet, or query dynaset, or to select other forms.
This article describes how to use the SetFocus method to select controls
on subforms and nested subforms, and how to select controls on a main form
from a control on a subform.
MORE INFORMATION
How to Select a Control on a Subform from a Main Form
To select a control on a subform from a main form, do the following:
- Select the subform control.
- Select the appropriate control on the subform.
The following example demonstrates how to select a control on a subform
from a main form:
- Open the sample database Northwind.mdb (or NWIND.MDB in version 2.0).
- Create a new, blank form based on the Customers table.
- On the View menu, click Field List to display the field list. Drag the
Company Name and City fields to the detail section of the form.
- Drag the Orders form from the Database window onto the detail
section of the new form. Microsoft Access will embed the Orders form
as a subform, linking the Orders form to the new form on the CustomerID
field (or Customer ID in version 2.0). Note that the Orders form
contains its own subform to show order details.
- Add a command button to the form with the following properties:
Name: GotoFreight
Caption: Freight
OnClick: [Event Procedure]
Create the following code for the OnClick property's event procedure:
' Select the Orders subform control.
Me![Orders].SetFocus
' Select the Freight control on the Orders subform.
Me![Orders].Form![Freight].SetFocus
- Save the new form with the name My Customer Orders.
- View the form in Form view, and then click the Freight button.
How to Select a Control on a Nested Subform from a Main Form
To select a control on a nested subform (a subform of a subform), do the
following:
- Select the subform control.
- Select the nested subform control.
- Select the appropriate control on the nested subform.
The following example demonstrates how to select a control on a nested
subform from a main form:
- Continuing the example above, add the following command button
to the My Customer Orders form:
Name: GotoQuantity
Caption: Quantity
OnClick: [Event Procedure]
Create the following code for the OnClick property's event procedure:
' Select the Orders subform control.
Me![Orders].SetFocus
' Select the nested Orders Subform subform control.
Me![Orders].Form![Orders Subform].SetFocus
' Select the Quantity field on the nested subform.
Me![Orders].Form![Orders Subform].Form![Quantity].SetFocus
- View the form in Form view, and then click the Quantity button.
How to Select a Control on a Main Form from a Subform
To select a control on a main form from a subform, do the following:
- Select the main form.
- Select the appropriate control on the main form.
The following example demonstrates how to select a control on a main form
from a subform:
- Continuing the example above, open the Orders form in Design view. Add
the following new command button to the form:
Name: GotoCity
Caption: City
OnClick: [Event Procedure]
Create the following code for the OnClick property's event procedure:
' Select the main form.
Forms![My Customer Orders].SetFocus
' Select the City control on the main form.
Forms![My Customer Orders]![City].SetFocus
- Save and then close the Orders form.
- Open the My Customer Orders form in Form view.
- Click the City button on the Orders subform.
How to Select a Control on a Subform from a Nested Subform
To select a control on a subform from a nested subform, do the following:
- Select the main form.
- Select the subform control.
- Select the appropriate control on the subform.
The following example demonstrates how to select a control on a subform
from a nested subform:
- Continuing the example above, open the Orders Subform form in
Design view.
- Modify the Discount field's OnExit property to be:
OnExit: [Event Procedure]
Create the following code for the OnExit property's event procedure:
' Select the main form.
Forms![My Customer Orders].SetFocus
' Select the Orders subform control.
Forms![My Customer Orders]![Orders].SetFocus
' Select the Freight control on the Orders subform.
Forms![My Customer Orders]![Orders].Form![Freight].SetFocus
- Save and close the Orders Subform form.
- Open the My Customer Orders form in Form view. Use the mouse to
select the Discount field in the nested Orders Subform subform.
Press TAB to exit the Discount field.
REFERENCES
For more information about the SetFocus method, search the Help Index
for "SetFocus," or ask the Microsoft Access 97 Office Assistant.