OpenQuery Macro Action

Office 2013 and later

Last modified: July 28, 2015

Applies to: Access 2013 | Office 2013

You can use the OpenQuery action to open a select or crosstab query in Datasheet view, Design view, or Print Preview. This action runs an action query. You can also select a data entry mode for the query.

Note Note

This action is only available in the Access database environment (.mdb or .accdb). See the OpenView, OpenStoredProcedure, or OpenFunction actions if you are using the Access project environment (.adp).

The OpenQuery action has the following arguments.

Action argument


Query Name

The name of the query to open. The Query Name box in the Action Arguments section of the Macro Builder pane shows all queries in the current database. This is a required argument.If you run a macro containing the OpenQuery action in a library database, Microsoft Access first looks for the query with this name in the library database, and then in the current database.


The view in which the query will open. Click Datasheet, Design, Print Preview, PivotTable, or PivotChart in the View box. The default is Datasheet.

Data Mode

The data entry mode for the query. This applies only to queries opened in Datasheet view. Click Add (the user can add new records but can't edit existing records), Edit (the user can edit existing records and add new records), or Read Only (the user can only view records). The default is Edit.

If you use Datasheet for the View argument, Access displays the result set if the query is a select, crosstab, union, or pass-through query whose ReturnsRecords property is set to Yes; and it runs the query if it is an action, data-definition, or pass-through query whose ReturnsRecords property is set to No.

The OpenQuery action is similar to double-clicking the query in the Navigation Pane, or right-clicking the query in the Navigation Pane and selecting a view. With this action you can select additional options.


  • You can drag a query from the Navigation Pane to a macro action row. This automatically creates an OpenQuery action that opens the query in Datasheet view. Switching to Design view while the query is open removes the Data Mode argument setting for the query. This setting isn't in effect even if the user returns to Datasheet view.

  • If you don't want to display the system messages that normally appear when an action query is run (indicating it is an action query and showing how many records will be affected), you can use the SetWarnings action to suppress the display of these messages.

To run the OpenQuery action in a Visual Basic for Applications (VBA) module, use the OpenQuery method of the DoCmd object.