ACC: How to Find Access Basic Error Codes

Article translations Article translations
Article ID: 105666 - View products that this article applies to.
This article was previously published under Q105666
Moderate: Requires basic macro, coding, and interoperability skills.
Expand all | Collapse all


The Microsoft Access manuals do not contain a listing of all the error codes and messages you can receive when you are running custom Access Basic functions. To obtain the error codes and messages, you can run a custom Access Basic function and use the Microsoft Access Help system.


This article assumes that you are familiar with Access Basic and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information on Access Basic, please refer to the "Introduction to Programming" manual in Microsoft Access version 1.x, or the "Building Applications" manual, Chapter 3, "Introducing Access Basic" in version 2.0.

There are approximately 700 error messages that can result from running Access Basic code. To print a list of the error values and descriptions to the Immediate window, add the sample function below to a module:
   Function PrintErrorStrings ()
      For i = 1 To 32766
         E$ = Error$(i)
         If E$ <> "User-defined error" And E$ <> "Reserved Error" Then
            Debug.Print i; Error$(i)
         End If
      Next i
   End Function

The following example demonstrates how to save the error code list in a table:
  1. Create a new table with the following fields. Save the table as Error Codes:
          Table Name: Error Table
          Field Name: Err
             Data Type: Number
             Field Size: Integer
          Field Name: Error
             Data Type: Text
             Field Size: 255
  2. Create the following function in a new module.
          Function FillErrorTable()
             Dim MyDB As Database, MyTable As Recordset
             Dim i As Integer
             Dim e$
             Set MyDB = CurrentDb()
             Set MyTable = MyDB.OpenRecordset("Error Codes")
             For i = 1 To 32766
                e$ = Error$(i)
                If e$ <> "User-defined Error" And e$ <> "Reserved Error" Then
                   MyTable![Err] = i
                   MyTable![Error] = e$
                 End If
             Next i
          End Function
  3. Type the following line in the Immediate window, and then press ENTER:

    ? FillErrorTable()
The error codes and descriptions will be written to the Error Codes table.

The Microsoft Access Help system contains descriptions of the errors. However, the error values are not in the Help system. To determine the error value, match the description to the values returned by the FillErrorTable() function.


For more information about error messages, search for "error messages: reference," and then "Error Messages Reference" using the Microsoft Access Help menu.


Article ID: 105666 - Last Review: May 6, 2003 - Revision: 2.0
  • Microsoft Access 1.0 Standard Edition
  • Microsoft Access 1.1 Standard Edition
  • Microsoft Access 2.0 Standard Edition
kbhowto kbprogramming KB105666
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from