Microsoft KB Archive/177264

= ACC97: Invalid DAO Reference Causes an IPF in MSACCESS.EXE =

Article ID: 177264

Article Last Modified on 4/23/2007

-

APPLIES TO


 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q177264



Novice: Requires knowledge of the user interface on single-user computers.



SYMPTOMS
In Microsoft Access 97, when you try to do any of the following
 * open a database with a startup form
 * view, create, or execute Visual Basic code in a form's class module
 * start a Microsoft Access 97 Wizard

you may receive one of the following error messages.

In Windows 95
ActiveX component can't create object.

-or-

This application has performed an illegal operation and will be shut down.

If you click the Details button, you see the following additional information:

Invalid Page Fault in MSACCESS.EXE

In Windows NT
An application error has occurred and an application error log is being generated. MSACCESS.EXE

-or-

MSACCESS.EXE caused an exception: Access Violation in MSACCOPT.DBG



CAUSE
The Dao350.dll file was not properly registered when Microsoft Access 97 was installed. This behavior occurs when you run setup for Microsoft Access 97 or Microsoft Office 97 Professional Edition, and the Dao350.dll file already exists on your hard drive. If the file already exists, the setup program does not reregister the file correctly.



RESOLUTION
There are three methods that you can use to resolve this issue. Each method is more extensive than the one before it, so you may want to try each method in the order listed until the error message goes away.

Method 1: Use Regsvr32.exe to Register the DAO Files
Regsvr32.exe is a program that you can use to register dynamic link library (.dll) files or ActiveX Controls in Microsoft Windows 95 or Microsoft Windows NT.

If Regsvr32.exe is not already on your hard drive, please see the following article in the Microsoft Knowledge Base for information about obtaining a copy of the file:

161983 ACC: Regsv32a.exe Available in Download Center

Follow these steps to register the Data Access Objects (DAO) DLL on your computer using Regsvr32.exe:  Quit Microsoft Access if it is running. Verify that Regsvr32.exe is in your Windows\System folder, for example:

\Windows\System or \Winnt\System32.

 Depending on the operating system you are using, do one of the following:  In Microsoft Windows 95 or Microsoft Windows NT version 4.0, on the taskbar, click Start, and then click Run. In Microsoft Windows NT version 3.51, in Program Manager or File Manager, on the File menu, click Run.</ol> </li> In the Run dialog box, in the Open text box (or the Command Line box in Microsoft Windows NT version 3.51), type the following command:

Regsvr32.exe C:\progra~1\common~1\micros~1\dao\dao350.dll

NOTE: The path to Dao350.dll may be different on your computer.</li> Start Microsoft Access and attempt to perform the process that caused the error.

NOTE: An alternative method of registering DLLs is to use Windows Explorer to find the DLL, double-click it, in the Open With Box, select Regsvr32.exe, and then click OK. This creates a permanent association of all DLLs with Regsvr32.exe. You can easily register other unregistered DLLs by double-clicking them.</li></ol>

Method 2: Replace Dao350.dll
<ol> In the Explorer, go to your Microsoft Office 97 CD and open the following folder:

\OS\Msapps\Dao

</li> In the Explorer, on the View menu click Options (Folder Options in Windows 98).</li> On the View tab, make sure the option "Show All Files" is on. Click OK.</li> Highlight the file Dao350.dll and on the Edit menu click Copy.</li> Next, close all applications and go to the DAO folder on your computer. Depending on your operating system, and whether you installed the operating system as a stand-alone version or an upgrade from an earlier version, the DAO folder should be in one of the following paths:

\Program Files\Common Files\Microsoft Shared\Dao

-or-

\Winnt\Msapps\Dao

</li> On the Edit menu, click Paste. If asked if you are sure you want to replace the existing file, click yes.</li></ol>

Method 3: Remove the DAO Folder and Reinstall
<ol> Depending on which program you installed, remove Microsoft Office 97 Professional Edition or Microsoft Access 97 from your computer as follows.

For Microsoft Windows 95 or Microsoft Windows NT version 4.0

<ol style="list-style-type: lower-alpha;"> On the taskbar, click Start, point to Settings, and then click Control Panel.</li> Double-click the Add/Remove Programs icon.</li> In the Add/Remove Programs Properties dialog box, select Microsoft Office 97 Professional Edition or Microsoft Access 97, and then click Add/Remove.</li> In the Installation Maintenance dialog box, click Remove All. Confirm that you want to remove the program.</li></ol>

For Microsoft Windows NT version 3.51 <ol style="list-style-type: lower-alpha;"> In Program Manager, double-click the Microsoft Office 97 Professional Edition or Microsoft Access 97 program group.</li> Double-click the Microsoft Office Setup or Microsoft Access Setup icon.</li> In the Installation Maintenance dialog box, click Remove All. Confirm that you want to remove the program.</li></ol> </li> <li>Remove the following folder and any files it contains from your hard drive. Depending on your operating system, and whether you installed the operating system as a stand-alone version or an upgrade from an earlier version, the folder should be in one of the following paths:

\Program Files\Common Files\Microsoft Shared\Dao

-or-

\Winnt\Msapps\Dao

</li> <li>Run Setup to reinstall Microsoft Office 97 Professional Edition or Microsoft Access 97. Do not choose a Compact installation.</li> <li>Start Microsoft Access 97 and try to perform the process that caused the error.</li></ol>

Method 4: Remove the Program, Delete Leftover Files, and Reinstall
<ol> <li>Complete step 1 from Method 2 to remove all of Microsoft Office 97 Professional Edition or Microsoft Access 97 from your hard drive.</li> <li>Manually delete all Microsoft Office 97 Professional Edition or Microsoft Access 97 files left on your hard drive after Setup removes the program.

For a list of files to remove, please see one of the following articles in the Microsoft Knowledge Base:

163997 ACC97: How to Completely Uninstall Microsoft Access 97

158658 OFF97: How to Completely Remove Microsoft Office 97

If you are removing a stand-alone version of Microsoft Access 97, remove the files listed in 163997.</li> <li>Reinstall Microsoft Office or Microsoft Access from the CD.</li> <li>Start Microsoft Access and try to perform the process that caused the error.</li></ol>

<div class="status_section">

STATUS
Microsoft has confirmed this to be a problem in Microsoft Access 97.

<div class="moreinformation_section">

MORE INFORMATION
This problem can occur when one of the following conditions is true:
 * During the installation of Microsoft Office Professional 97 or Microsoft Access 97, Setup.exe finds a newer version of Dao350.dll already on the computer. Therefore, Setup does not register the object library, Dao350.dll, or the type library, Dao2535.dll. This can occur if other products, such as Visual Basic or Visual C++, have already installed newer versions of Dao350.dll.
 * The same version of the DAO 3.5 Object Library (Dao350.dll) is already installed and registered on the computer, but its associated type library (Dao2535.tlb) is not on the computer.

Because the Dao350.dll file already exists on the system and does not get replaced, you cannot correct the problem described in this article by simply reinstalling Microsoft Access 97 or Microsoft Office 97 Professional Edition.

Another problem that can develop from an improper registration of Dao350.dll or Dao2535.tlb is a database that will not function after it is converted from an earlier version of Microsoft Access. If a Microsoft Access 95 database that contains a DAO 3.0 Library reference is converted to Access 97, the reference will be switched to the DAO 3.5 Library reference during conversion. Although the conversion is completed successfully, the database will not function properly if the DAO 3.5 Library or its type library is not properly registered. NOTE: You may not receive the Invalid Page Fault errors, but you may receive errors when you try to run any Microsoft Access 97 Wizards.

For information about troubleshooting a similar issue involving the Microsoft Access Wizards in Microsoft Access 97, please see the following article in the Microsoft Knowledge Base:

167591 ACC97: Microsoft Access Can't Find the Wizard Error Message

<div class="references_section">