Problem:

The "Operation must use an updatable query" error occurred when trying to insert a record into an MS Access database.

Solution:

This was a bogus message. We made sure that the ODBC data source was not read-only, which is the usual reason for this error. The real problem was a syntax error in the INSERT statement, namely, that there was no blank before the VALUES keyword.
 
C                   Eval      Rtn = SQL_RunSQLExec(SQL_Socket:
C                             'insert into NameAddress' +
C                             '(First)' +
C                             'VALUES(' +
C                             quot + 'James' + quot )')
 
Note that in the 3rd line there is no blank after the right parenthesis, so the statement looks like
 
"(First)VALUES("
 
at that point. The source should be
 
C                   Eval      Rtn = SQL_RunSQLExec(SQL_Socket:
C                             'insert into NameAddress' +
C                             '(First) ' +
C                             'VALUES(' +
C                             quot + 'James' + quot )')
 
which will result in
 
"(First) VALUES("
 

Still have questions? We can help. Submit a case to Technical Support.

Last Modified On: December 10, 2016