FIX: Microsoft Access quits when you link ODBC tables

This article has been archived. It is offered "as is" and will no longer be updated.

This article applies only to a Microsoft Access database (.mdb).

Advanced: Requires expert coding, interoperability, and multiuser skills.
When you try to link Open Database Connectivity (ODBC) tables to an Access database, Access may quit unexpectedly. You may receive the following error message:

Microsoft Access has encountered a problem and needs to close.

If you click Debug, you may receive the following error message:

The instruction at 0x30b17ce9 referenced memory at 0x00000000. The memory could not be read.

When you click Send A Report, you may receive the following message:

AppName: Msaccess.exe AppVer: 10.0.4302.0 ModName: Mso.dll ModVer: 10.0.4219.0 Offset: 00005ae9
This problem may occur when the following conditions are true:
  • You try to link ODBC tables immediately after you open the database.
  • The database contains a reference to another Access database (.mdb) file.

Service pack information

This problem is corrected in Office XP Service Pack 3.

To resolve this problem, obtain the latest service pack for Microsoft Office XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
307841 How to obtain the latest Office XP Service Pack
Note For information about updating Access 2002 Runtime applications, click the article number below to view the article in the Microsoft Knowledge Base:

839022 How to obtain the latest Office XP Service Pack for Access 2002 Runtime

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site: Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language. The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date         Time    Size        File name   --------------------------------------------------------------   23-Jul-2003  18:49   13,338,624  8563_intl_i386_zip.exe  				

Note Because of file dependencies, the most recent fix that contains the previous files may also contain additional files.

After the hotfix is installed, the following files will have the listed attributes or later:
   Date            Time      Version         Size        File name   ------------------------------------------------------------------   2003-May-29     19:33     10.0.5328.0     5773896     MSACCESS.exe				

To work around this issue, create a startup form that delays the process of opening the database. This prevents the database from immediately linking ODBC tables. To do this, follow these steps:
  1. Create an unbound form with the following properties:

    Form: frmDelay
    Caption: Please Wait
    ScrollBars: Neither
    Popup: Yes
    Modal: Yes
    RecordSelectors: No
    NavigationButtons: No
    ControlBox: No
  2. Set the TimerInterval property of the form to 10000.
  3. Add the following code to the OnTimer event of the form:
    Private Sub Form_Timer()     DoCmd.Close acForm, "frmDelay", acSaveNoEnd Sub
  4. Save the form as frmDelay.
  5. On the Tools menu, click Startup.
  6. In the Display Form/Page box, click frmDelay.
  7. Click OK.
  8. Close the database, and then reopen the database.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Office XP Service Pack 3 and Office XP Service Pack 3 for Access 2002 Runtime.
More information

Steps to Reproduce the Problem

  1. Start Access 2002.
  2. Create two new Access 2000 databases (.mdb) that are named Db1.mdb and Db2.mdb.
  3. In Db1.mdb, set a reference to Db2.mdb by using Microsoft Visual Basic for Applications (VBA).
  4. Close Access, and then reopen Db1.mdb.
  5. Right-click in the Database window, and then click Link Tables.

    Note You must perform this step immediately after you open the database.
  6. In the Files of Type box, click ODBC Databases().

    Notice that you receive the error message that is in the "Symptoms" section.

Article ID: 821809 - Last Review: 01/11/2015 05:07:01 - Revision: 4.0

  • Microsoft Access 2002 Standard Edition
  • kbnosurvey kbarchive kbautohotfix kbqfe kbhotfixserver kbstoprespond kberrmsg kbbug KB821809