Microsoft KB Archive/113548

= ACC: How to Select Controls on Subforms with SetFocus Method =

Article ID: 113548

Article Last Modified on 1/18/2007

-

APPLIES TO


 * Microsoft Access 2.0 Standard Edition
 * Microsoft Access 95 Standard Edition
 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q113548



Moderate: Requires basic macro, coding, and interoperability skills.



SUMMARY
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.



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:


 * 1) Select the subform control.
 * 2) 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 </li> Save the new form with the name My Customer Orders.</li> View the form in Form view, and then click the Freight button.</li></ol>

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:


 * 1) Select the subform control.
 * 2) Select the nested subform control.
 * 3) 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:

<ol>  Continuing the example above, add the following command button to the My Customer Orders form:

<pre class="fixed_text">     Name: GotoQuantity Caption: Quantity OnClick: [Event Procedure]

Create the following code for the OnClick property's event procedure:

<pre class="fixed_text">     ' 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

</li> View the form in Form view, and then click the Quantity button.</li></ol>

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:


 * 1) Select the main form.
 * 2) Select the appropriate control on the main form.

The following example demonstrates how to select a control on a main form from a subform:

<ol>  Continuing the example above, open the Orders form in Design view. Add the following new command button to the form:

<pre class="fixed_text">     Name: GotoCity Caption: City OnClick: [Event Procedure]

Create the following code for the OnClick property's event procedure:

<pre class="fixed_text">     ' Select the main form. Forms![My Customer Orders].SetFocus

' Select the City control on the main form. Forms![My Customer Orders]![City].SetFocus

</li> Save and then close the Orders form.</li> Open the My Customer Orders form in Form view.</li> Click the City button on the Orders subform.</li></ol>

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:


 * 1) Select the main form.
 * 2) Select the subform control.
 * 3) Select the appropriate control on the subform.

The following example demonstrates how to select a control on a subform from a nested subform:

<ol> Continuing the example above, open the Orders Subform form in Design view.</li>  Modify the Discount field's OnExit property to be:

<pre class="fixed_text">     OnExit: [Event Procedure]

Create the following code for the OnExit property's event procedure:

<pre class="fixed_text">     ' 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

</li> Save and close the Orders Subform form.</li> 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.</li></ol>

<div class="references_section">