Common Coding Errors

80004005 - Operation must use an updateable query

This error happens when you try to insert data into or update data in an Access database and you do not have the correct permissions set up in order to write to the database. In other words .......

  1. The "Write" permissions have not been set on the folder containing the database.
  2. The database file itself does not have full "Read/Write" permissions set up.
  3. The database is located outside the Inetpub/wwwroot directory. In such a case you may be able view and search the data but you may not be able to update it unless the database is located in the wwwroot directory.
  4. The recordset you are using contains a non-updateable query. Joins,for instance, are non-updateable queries.

Resolution

Points 1 & 2 are the most common causes of this error message.

If you are getting this error on your Web Hosts server, go look at the hosting companies FAQ's to find out exactly where they expect you to store your database. They probably have a specific folder that you must use which already has the correct permissions set up.

 
 
80004005 - Couldn't use '(unknown)'; file already in use or Microsoft Jet database engine cannot open the file (unknown)
  • Make sure that you have set up your DSN correctly on your local machine.
  • Just because you have a DSN on your local machine does not mean that your page will automatically work on your Web Hosts server. You have to set up a DSN (with the same name) on their server as well. Check your hosts FAQ's or mail their support team for instructions.
  • Check that the DSN you set up was a "System" DSN and not a "User" DSN.
    Look for the lock file (.ldb) in the folder containing the database file (.mdb) and delete the .ldb file.
  • If another DSN is pointing to the same database file delete that DSN to prevent the error in the future. Reboot the computer after making these changes.
 
 
80040e10 - Too few parameters

This happens when one of the column names specified in your recordset SQL statement does not exist in the database table you are trying to query.

  • The "Expected 1" bit tells you that you have a problem with 1 field. "Expected 2" would indicate a problem with 2 fields etc.
  • Remove any invalid column names from the select statement.
  • Check that you have not misspelled any of the field names in your select statement and that the field name exists in the table being queried.
  • Check your whitespaces.
 
 
800a0bb9 - The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

When you get this error message saying
"Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another."

You need to define ADO constants.

You must have missed out the adovb.inc file or not defined them earlier on in your code.