Help and Support

XL97: Run-Time Error 40009 When You Run DAO Macro

Article ID:172322
Last Review:October 10, 2006
Revision:1.3
This article was previously published under Q172322
On This Page

SYMPTOMS

If you run a Visual Basic for Applications macro that uses Data Access Objects (DAO) in Microsoft Excel 97, you may receive the following error message:
Run-time error '40009':
No current row.
This error message occurs when the macro attempts to copy the contents of a recordset into the active worksheet.

Back to the top

CAUSE

This problem occurs when one of the following conditions is true:

The recordset includes a field of type BIGINT. -or-

You have installed Microsoft Visual Basic version 5.0 on the same computer.

Visual Basic 5.0 replaces the Dao350.dll file that is included in Microsoft Office 97 or Excel 97 with a newer copy. Because this newer Dao350.dll file is not fully compatible with Excel 97, Visual Basic macros that use DAO may not work correctly.

Back to the top

RESOLUTION

To resolve this problem, obtain Microsoft Office 97 Service Release 2 (SR-2).

For additional information about SR-2, please see the following article in the Microsoft Knowledge Base:
151261 (http://support.microsoft.com/kb/151261/EN-US/) OFF97: How to Obtain and Install MS Office 97 SR-2
To temporarily work around this problem, use one of the following workarounds.

Back to the top

Method 1: Field of Type BIGINT Is Included in Recordset

If the recordset contains a field of type BIGINT, you must change the type of the field or exclude the field from the recordset, and then run the macro again.

Back to the top

Method 2: Microsoft Visual Basic 5.0 Is Installed on Your Computer

To work around this problem, remove or rename the Dao350.dll file that was installed by Microsoft Visual Basic 5.0, and install a new copy of the file that is included with Office 97 or Excel 97.

NOTE: Because there are several versions of Windows, the following steps may be different on your computer. If they are, please consult your product documentation to complete these steps.

To rename or remove the existing file, follow these steps.

1.Quit all running programs.
2.On the Start menu, point to Find, and then click Files Or Folders.
3.In the Named box, type Dao350.dll. In the Look In box, click "(C:)". Select the Include Subfolders check box, and then click Find Now.

You should find a copy of Dao350.dll in the following folder:
      C:\Program Files\Common Files\Microsoft Shared\DAO
						
4.Right-click the Dao350.dll file. On the shortcut menu, click Rename. Change the name of the file to xDao350.dll. Press ENTER.

-or-

Right-click the Dao350.dll file. On the shortcut menu, click Delete. Click Yes in the Confirm File Delete dialog box.
5.Click Close.
After you rename or remove the file, install a new copy of Dao350.dll. To do this, use one of the following methods.

Method 1: Download the Revised Dao350.dll file

A revised Dao350.dll file is available. This file is fully compatible with Microsoft Visual Basic for Applications macros that use DAO and is not replaced by Microsoft Visual Basic version 5.0.

For additional information about this utility, please see the following article in the Microsoft Knowledge Base:
182596 (http://support.microsoft.com/kb/182596/EN-US/) XL97: Revised Dao350.dll File for "No current row" Error
Method 2: Run Setup Again

Run the Microsoft Office 97 or Microsoft Excel 97 Setup program and click Reinstall. The Setup program reinstalls all missing files, including the Dao350.dll file. When the Setup program is finished, open Excel 97 and verify that the macros that use DAO work correctly. Method 3: Replace the Dao350.dll File

Copy the Dao350.dll file from your Office 97 or Excel 97 compact disc (CD) to the correct folder on your hard disk. To do this, follow these steps:

1.Insert the Office 97 or Excel 97 CD into the CD-ROM drive.
2.Using Windows Explorer, open the following folder on the CD drive
      <R>:\OS\MSAPPS\DAO
						
where <R>: is the drive letter for the CD-ROM drive.
3.If Dao350.dll is not visible in Windows Explorer, follow these steps:

a. On the View menu, click Options. Click the View tab.
b. Click to select Show All Files.
c. Click OK.
4.Right-click the Dao350.dll file. On the shortcut menu, click Copy.
5.Using Windows Explorer, open the following folder on your hard disk:
      C:\Program Files\Common Files\Microsoft Shared\DAO
						
6.On the Edit menu, click Paste.
After Windows Explorer copies Dao350.dll from the CD to the hard disk, open Excel 97 and make sure that the macros that use DAO work correctly.

NOTE: If you reinstall Microsoft Visual Basic 5.0, the Dao350.dll file is replaced again, and you need to perform these steps again. However, if you have copied the revised Dao350.dll file that is available in the Microsoft Download Center, the file is not replaced again.

Back to the top

STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem was corrected in Microsoft Office 97 Service Release 2 (SR-2).

Back to the top

MORE INFORMATION

Both Microsoft Excel 97 and Microsoft Visual Basic 5.0 both include copies of the Dao350.dll file. The version numbers of these files are listed in the following table.
   Product                      Version of Dao350.dll
   --------------------------------------------------
   Excel 97 or Office 97        3.50.3428.0
   Visual Basic 5.0             3.50.3602.0
				
When you install Visual Basic 5.0, the version number of its Dao350.dll file is later than the version of the file that is installed with Excel 97; therefore it replaces the Dao350.dll file that is included in Excel 97. If you reinstall Excel 97 or Office 97, the earlier Dao350.dll file does not replace the later Dao350.dll file. This is why you cannot correct the problem that is described in this article by simply reinstalling Excel 97 or Office 97.

Back to the top


APPLIES TO
Microsoft Excel 97 Standard Edition

Back to the top

Keywords: 
kbbug kberrmsg kbprogramming kbsetup KB172322

Back to the top

Article Translations

 

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.