Share via

DoCmd.RunSQL Method

Access Developer Reference

The RunSQL method carries out the RunSQL action in Visual Basic.


expression.RunSQL(SQLStatement, UseTransaction)

expression   A variable that represents a DoCmd object.


Name Required/Optional Data Type Description
SQLStatement Required Variant A string expression that's a valid SQL statement for an action query or a data-definition query. It uses an INSERT INTO, DELETE, SELECT...INTO, UPDATE, CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, or DROP INDEX statement. Include an IN clause if you want to access another database.
UseTransaction Optional Variant Use True (–1) to include this query in a transaction. Use False (0) if you don't want to use a transaction. If you leave this argument blank, the default (True) is assumed.


You can use the RunSQL action to run a Microsoft Access action query by using the corresponding SQL statement. You can also run a data-definition query.

This method only applies to Microsoft Access databases.

The maximum length of the sqlstatement argument is 32,768 characters (unlike the SQL Statement action argument in the Macro window, whose maximum length is 256 characters).


The following example updates the Employees table, changing each sales manager's title to Regional Sales Manager:

Visual Basic for Applications
  Public Sub DoSQL()
Dim SQL As String

SQL = "UPDATE Employees " & _
      "SET Employees.Title = 'Regional Sales Manager' " & _
      "WHERE Employees.Title = 'Sales Manager'"

DoCmd.<strong class="bterm">RunSQL</strong> SQL

End Sub