XL97: Run-Time Error 40009 When You Run DAO Macro
The information in this article applies to:
- Microsoft Excel 97 for Windows
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.
CAUSE
This problem occurs when one of the following conditions is true:
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:
ARTICLE-ID: Q151261
TITLE : OFF97: How to Obtain and Install MS Office 97 SR-2
To work around this problem temporarily, use one of the following
workarounds.
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.
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" (without quotation marks). 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" (without quotation marks).
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:
ARTICLE-ID: Q182596
TITLE : 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
Software Library, the file is not replaced again.
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).
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.
Additional query words: XL97 copyfromrecordset createworkspace fields
openrecordset openconnection
Keywords : kbprg kbsetup kbdta xldao KbVBA
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbbug