DoCmd.RunSQL Method

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.RunSQL SQL
End Sub

run an action query using corresponding SQL statement run sql Run SQL Method runSQL runsql method use action query to append a record directly from a macro what method runs a data definition query using the corresponding SQL