XL97: Run-Time Error Using CreateObject With DAO.DBEngine
ID: Q157471
|
The information in this article applies to:
-
Microsoft Excel 97 for Windows
SYMPTOMS
When you use CreateObject in a Microsoft Excel 97 macro to use Data
Access Objects (DAO), you may receive the following error:
Run-time error '429':
ActiveX component can't create object
CAUSE
If DAO 3.0 is not installed and you use the following line of code:
Set x = CreateObject("DAO.DBEngine")
you will receive the error message described in the "Symptoms" section.
NOTE: This line of code will successfully create, without error, a DAO 3.0
object if DAO 3.0 is installed on your computer.
RESOLUTION
With DAO 3.0, the object name is "DAO.DBEngine" and with DAO 3.5, the
version provided with Microsoft Excel 97, the object name has changed to
"DAO.DBEngine.35". So, if you have DAO 3.5 installed, the following line of
code will create, without error, a DAO 3.5 object:
Set x = CreateObject("DAO.DBEngine.35")
Since the object names for DAO 3.0 and DAO 3.5 are different, it is
recommended that you avoid using CreateObject altogether with DAO for your
code to be compatible with both versions of DAO.
Instead of using CreateObject to use DAO in your macro, check the
appropriate Data Access Object Library in the References dialog box:
- With a module sheet active, click References on the Tools menu.
- Check the "Microsoft DAO <x.x> Object Library" (where <x.x> is the DAO
version) and click OK.
MORE INFORMATION
Steps to Determine What Version of DAO is Referenced
Microsoft provides programming examples for illustration only, without
warranty either expressed or implied, including, but not limited to, the
implied warranties of merchantability and/or fitness for a particular
purpose. This article assumes that you are familiar with the programming
language being demonstrated and the tools used to create and debug
procedures. Microsoft support professionals can help explain the functionality
of a particular procedure, but they will not modify these examples to
provide added functionality or construct procedures to meet your specific
needs. If you have limited programming experience, you may want to contact
the Microsoft fee-based consulting line at (800) 936-5200. For more
information about the support options available from Microsoft, please see
the following page on the World Wide Web:
http://www.microsoft.com/support/supportnet/refguide/
Follow these steps to run a Sub procedure to determine which version of DAO
your project is referencing.
- Open the workbook in Microsoft Excel.
- Start the Visual Basic Editor by pressing ALT+F11.
- If the Project window is not visible, on the View menu, click Project
Explorer.
- In the Project window, make sure the workbook is
active. For example, click "VBAProject (Book1.xls)" to activate
Book1.xls.
- On the Insert menu, click Module.
- Type the following code in the module:
Sub Return_DAO_Version()
MsgBox DBEngine.Version
End Sub
- Press ALT+F11 to switch to Microsoft Excel.
- On the Tools menu, point to Macro, and then click Macros.
- Click the Return_DAO_Version macro, and then click Run.
You receive a dialog box with the version of DAO that is referenced.
REFERENCES
For more information about Data Access Objects, type the following text in
the Office Assistant Window:
DAO
and click Search. Then click the topic "Data Access Objects and Collections
Reference".
Additional query words:
XL97 8.00
Keywords : kbprg kbdta kbdtacode xldao KbVBA xlvbmigrate
Version : WINDOWS:97
Platform : WINDOWS
Issue type :
Last Reviewed: July 2, 1999