ACC97: Run-Time Error 429 Message Using Run-Time Application

ID: Q189366


The information in this article applies to:
  • Microsoft Access 97


SUMMARY

Moderate: Requires basic macro, coding, and interoperability skills.

If you install a Microsoft Access run-time application on a computer that has not previously had Microsoft Access installed, you may receive the following error message when running code:

Run-time error '429':
ActiveX component can't create object

This error message can also occur on a computer that has Microsoft Access installed if:
  • The Data Access Objects (DAO) Object Library, Dao350.dll, was not properly registered when Microsoft Access 97 was installed.

    -and-


  • You subsequently used Regsvr32.exe to register Dao350.dll.


This error can occur when DAO calls are made without using the Application object DBEngine and the DAO Automation Server license key is unavailable. The Automation Server license key is used to verify that the application has authorization to use the server.


MORE INFORMATION

This error message does not imply that an ActiveX control is involved. In this case, DAO, an ActiveX component, can't create an object because the DAO Automation Server cannot be started.

When using the DAO server there are two ways the DAO license key can be provided for verification.

  1. An application, such as Microsoft Access, can place a license key in the registration database during installation. There are two conditions where the DAO license key is not written to the registry:

    1. During an Access run-time application installation.


    2. During a full installation of Microsoft Access, if DAO is not registered properly and you subsequently use Regsvr32.exe to register Dao350.dll.




  2. The client application can pass the license key to DAO when the call is made.

    When the application calls DAO through Visual Basic for Applications code, the client application, in this case Visual Basic for Applications, does not provide the DAO license key. For example, the following code
    
          Set dbs = OpenDatabase("<path>\<filename>") 

    would not provide the DAO license key because Access is using Visual Basic for Applications as the application.

    You can get Microsoft Access to provide its DAO license key by using DBEngine as the application in the Visual Basic for Applications call to DAO. For example, the following code
    
          Set dbs = DBEngine.OpenDatabase("<path>\<filename>") 

    would provide the DAO license key because Microsoft Access is explicitly referencing DBEngine, the DAO object.

    Although the Application object, DBEngine, need only be referenced the first time DAO is used, it is good programming practice to use the Application object any time you reference DAO functionality in code.


Additional query words: inf

Keywords : kberrmsg kbdta MdlDao
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbhowto


Last Reviewed: April 13, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.