ACC: How to Find Access Basic Error Codes

ID: Q105666


The information in this article applies to:


SUMMARY

Moderate: Requires basic macro, coding, and interoperability skills.

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.


MORE INFORMATION

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$ &lt;&gt; "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.AddNew
                   MyTable![Err] = i
                   MyTable![Error] = e$
                   MyTable.UPDATE
                 End If
             Next i
             MyTable.Close
             MyDB.Close
          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.


REFERENCES

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

Additional query words: error messages


Keywords          : kbprg PgmErr 
Version           : 1.0 1.1 2.0
Platform          : WINDOWS 
Issue type        : kbhowto 

Last Reviewed: March 27, 1999