Error "Operation must use an updateable query" reason and solution
Translation is relatively hastily, huh, huh. Error message: Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft] [ODBC Microsoft Access 97 Driver] Operation must use anupdateable query or:. Microsoft JET Database Engine (0x80004005) Operation must use an updatable query.
Reason: There are several major error reasons: this error occurs when your program is trying to perform update databases or other similar operations. This is because ADO cannot be written due to the following reasons. 1. The most common reason is that anonymous user account (IUSR_MACHINE) has no write permissions to the database file. To solve this problem, adjust the properties of the database file in the manager, so that anonymous users have correct permissions. When using the Access database, not only gives the permissions written by the file, but also give this directory, because JET needs to create a .ldb file in this directory. 2. The second reason is that the database does not open the correct mode. You should open the following method. SQL = "Update Products Set Unitprice = 2;" SET CONN = Server.createObject ("AdoDb.connection" Conn.Mode = 3 '3 = AdmodeReadwriteconn.open "MyDSN" conn.execute (SQL) conn.close pay attention to the default Mode is set to set 0 (AdmodeunkNown), which is allowed to update. 3. It is also possible to select the read-only option of the DSN in the ODBC manager. 4. You are updating the fields in the two tables at the same time, and this error message will appear, the solution is to update the respective fields in these two tables. 5. When you use a query from a low version (such as access2.0, access7.0) to a high version (Access 2000), the error will appear.