ACC: How to Find Access Basic Error Codes

Last reviewed: June 8, 1997
Article ID: Q105666
The information in this article applies to:
  • Microsoft Access versions 1.0, 1.1, 2.0

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$ <> "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
Hardware : X86
Issue type : kbhowto


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: June 8, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.