When running action queries make sure you add the adExecuteNoRecords option, so that a recordset is not created. You can also use this technique in lookup situations when returning just a single row with one or two fields (ID values for example). In this case a stored procedure and outparameter will be faster. Here is an example:
strsql = "UPDATE Titles SET Price = Price*1.0" & "WHERE Type _
cmdUpdate.ActiveConnection = <connection string>
cmdUpdate.CommandText = <stored Procedure name>
cmdUpdate.CommandType = adcmdstoredprocedure
cmdUpdate.Execute , , adExecuteNoRecords
This runs the Update command and ensures that no recordset is created.