XL97: Run-Time Error Using CreateObject With DAO.DBEngine

Article translations Article translations
Article ID: 157471 - View products that this article applies to.
This article was previously published under Q157471
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all

On This Page


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


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.


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:

  1. With a module sheet active, click References on the Tools menu.
  2. 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 a Microsoft Certified Partner or Microsoft Advisory Services. For more information, visit these Microsoft Web sites:

Microsoft Certified Partners - https://partner.microsoft.com/global/30000104

Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Follow these steps to run a Sub procedure to determine which version of DAO your project is referencing.

  1. Open the workbook in Microsoft Excel.
  2. Start the Visual Basic Editor by pressing ALT+F11.
  3. If the Project window is not visible, on the View menu, click Project Explorer.
  4. In the Project window, make sure the workbook is active. For example, click "VBAProject (Book1.xls)" to activate Book1.xls.
  5. On the Insert menu, click Module.
  6. Type the following code in the module:
          Sub Return_DAO_Version()
             MsgBox DBEngine.Version
          End Sub
  7. Press ALT+F11 to switch to Microsoft Excel.
  8. On the Tools menu, point to Macro, and then click Macros.
  9. Click the Return_DAO_Version macro, and then click Run.
You receive a dialog box with the version of DAO that is referenced.


For more information about Data Access Objects, type the following text in the Office Assistant Window:
and click Search. Then click the topic "Data Access Objects and Collections Reference".


Article ID: 157471 - Last Review: October 26, 2013 - Revision: 3.0
Applies to
  • Microsoft Excel 97 Standard Edition
kbnosurvey kbarchive kbdtacode kberrmsg kbprogramming KB157471

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com