Refer to an object or its properties in expressions
You use an identifier in an expression to refer to an object or its properties. For example, you can refer to an open form, an open report, a control on an open form or report, or any properties of the form, report, or control. The following identifier refers to the Visible property of a control:
Reports![Invoice]![ShipName].Visible
The full identifier for an object or property shows the relationship between items in the identifier. In this identifier:
- Reports refers to the collection of open reports in the database. Microsoft Access automatically creates Forms and Reports collections for each database. The Forms collection is made up of all open forms, while the Reports collection is made up of all open reports.
- [Invoice] refers to the Invoice report in the Reports collection.
- [ShipName] refers to the ShipName control on the Invoice report.
- Visible refers to the Visible property of the ShipName control.
It's often a good idea to refer to an object or property using its full identifier. In some cases, a full identifier is required. For example, to refer to a control on a form or report that isn't the current form or report, you must type its full identifier. The following expression displays the sum of the values in the Subtotal and Freight controls on the Orders form in a control on a different form:
= Forms![Orders]![Subtotal] + Forms![Orders]![Freight]
However, in some circumstances you can refer to a control or its properties without specifying a full identifier:
- If you're referring to a control on the current form or report, you don't have to specify the form or report identifier. For example, to display the sum of the values in the Subtotal and Freight controls in a different control on the same form, set the ControlSource property of the control to:
= [Subtotal] + [Freight]
- If you're referring to a control on a subform or subreport, you don't have to specify the full identifier for the form or report using the Form or Report property. For example, you can use the following identifier to refer to the Quantity control on the Orders Subform subform:
Forms![Orders]![Orders Subform]![Quantity]
The full identifier for the Quantity control would be:
Forms![Orders]![Orders Subform].Form![Quantity]
- In a macro or action argument, you don't have to specify the identifier for the form or report from which the macro is run. For example, if you set an event property on a form to the name of a macro, you can refer to controls on the form in the macro's Condition column or action arguments without specifying the form's identifier.
- In a Visual Basic for Applications procedure, you can use the Me keyword rather than the full identifier to refer to a control on the current form or report. For example, to assign the sum of the values in the Subtotal and Freight controls on a form to the variable OrderTotal in one of the form's event procedures, add the following statement to the event procedure:
OrderTotal = Me![Subtotal] + Me![Freight]
Notes
For information on using the ! and . (dot) operators in expressions, click .
For more information on referring to a form, report, subform, or subreport in an expression, click .
For more information on referring to the value of a control or property in an expression, click .