So you’re updating some VBA code you wrote a while back… Now what is the Error Processing section doing? What do those Error Numbers mean? I shoulda’ written some comments!

Well you can just look up each of those error descriptions quickly by using the AccessError() function in the Immediate window. See this excellent article by Mike Wolfe: Access Error Number Message Lookup (

In that article, there is a comment posted by Colin Riddington that references VBA code he wrote to generate your own up to date list of VBA and Access error codes. He posted it here: He mentions in his comment that there are 2,976 such codes for Access 2010 and 3,063 of them for Access 2016. I see that the 2019 Access version has 3,084 error codes.

Using Colin’s VBA code as a base, Halder Consulting created a database file with a Form and some additional code that will let you regenerate the list any time you like and will also let you easily search or filter the list. For example, if you filter on Error Type you will see that there are 87 VBA Error Codes and 2,997 Access Error codes. You might want to search the Message Description field for classes of errors. For example, if you filter the Description field for records containing “file” you’ll see that there are 346 possible Error Messages that deal with files.

Notice that that database shows the Access Version and Jet/Ace Version used to generate each line in the table.

Also, you can generate multiple versions of the database for each of the older versions of Access that you may be supporting with your applications. So, if you’re supporting Access 2013 and 2019, you could run the database under Access 2013 and press [Delete Table] and then [Generate Table]. You could then run the database under Access 2019 and press [Generate Table] again. This second run would add only the new Error Codes and each line would show whether it is from Access 2013 or it was added in Access 2019.

You can download the database here:

I hope this is a useful addition to your development toolkit!