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.
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.
- Open the sample database Northwind.mdb or the sample Access project NorthwindCS.adp.
- Create a new, blank form based on the Customers table.
- If the field list is not visible, click Field List on the View menu. Drag the Company Name and City fields from the field list 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. 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: GotoFreightCreate the following code for the OnClick property's event procedure:
Caption: Freight
OnClick: [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 as 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.
- Continuing the example above, add the following command button to the My Customer Orders form:
Name: GotoQuantityCreate the following code for the OnClick property's event procedure:
Caption: Quantity
OnClick: [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.
- Continuing the example above, open the Orders form in Design view. Add the following new command button to the form:
Name: GotoCityCreate the following code for the OnClick property's event procedure:
Caption: City
OnClick: [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.
- 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 pointer to select the Discount field in the nested Orders Subform subform. Press TAB to exit the Discount field.