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("