Getting an Invalid Operation error when code executed from inside an MS Access vba routine

pcalabria used Ask the Experts™
I'm getting an invalid operation message when the following line of code is executed:

                strSQLtext = "UPDATE ComponentMaster SET OrderNumberNoSync = true  WHERE searchnumber='" & strSearchNumber & "' And LineID = " & oRS!LineID
                Set oRS2 = oDB.OpenRecordset(strSQLtext)

When I print strSQLtext in the immediate window, then copy it to a query outside the routine, it runs without issue.
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Distinguished Expert 2017
To open a recordset, the query must return records.
But queries such as update, delete, or insert do not return records, ehence the error.

Use the execute method of the database object to execute your query.
Sample code:
Dim strSQLtext As String
strSQLtext = "UPDATE ComponentMaster SET OrderNumberNoSync = true  WHERE searchnumber='" & strSearchNumber & "' And LineID = " & oRS!LineID

Dim db As DAO.Database
Set db = currentDb
db.execute strSQLText, dbFailOnError

Open in new window


@Fabrice  Thanks and thanks for the explanation.  I'm sure now I'll remember but the code provided still does not work.  I get a message that says "Could not update; record locked".  I suspect this is because I am cycling though a recordset and now trying to change one of the records in that recordset (but not the recordset at the cursor).  Can you help?
Distinguished Expert 2017

You may have cut off too much of the code.  Put a stop in the code and print the SQL string to the immediate window.  If you don't see the problem, copy it and paste it into the QBE and try to run it from there.

Based on the error message, chances are excellent that the form that is running this code is bound to the form that is running it and the current record is dirty.
Fabrice LambertConsulting
Distinguished Expert 2017

Well, this is another issue, not related to your first question.

Close this post and open a new one.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial