Recieving Error 430 From MS Access 2003 and Windows 7 Ultimate

Posted on 2011-10-07
Last Modified: 2012-05-12

I developed a Microsoft Access 2003 application using VBA approximately 2 years ago. At the time both my client and I were running Windows XP Pro SP3. The Access application was successfully developed and delivered. All was well.

Last month the same client asked for changes on this same Access application. I since updated my operating system to Windows 7 Ultimate. I still used Microsoft Office 2003. I received an error from Access:

Run-time error '430': Class does not support Automation or does not support expected interface

The offending statement was:

    cnnExcel.Open "Provider=Microsoft.jet.OLEDB.4.0;" & _
                  "Data Source=" & strSelectedPath & _
                  ";Extended Properties=""Excel 8.0;"""

The Access module references under Windows XP SP3 and under Windows 7 are the same and in the same order, namely:

Visual Basic For Applications
Microsoft Access 11.0 Object Library
OLE Automation
Microsoft DAO 3.6 Object Library
Microsoft ActiveX Data Objects 2.1 Library
Microsoft Office 11.0 Object Library
Microsoft Excel 11.0 Object Library

Any assistance on how to correct the problem without implementing the changes from last month using Windows XP SP3 would be most helpful.

Much thanks!
Question by:David Bach
    LVL 10

    Expert Comment


    Could you post the whole of the function, or at least the part up until the error?


    Author Comment

    by:David Bach
    Hi Plummel;

    Sure, the subroutines up to the error statement follows:

    Private Sub ddlSheets_Change()

        Dim dbTourism As Database
        Dim rsTourism As Recordset
        Dim cnnExcel As New ADODB.Connection
        Dim rsExcel As New ADODB.Recordset
        Dim intMessageBox As Integer
        If Len(Me.ddlSheets.Text) = 0 Then
            Exit Sub
        End If
        intMessageBox = MsgBox("Are you sure you wish to load sheet " & Me.ddlSheets.Value & "?", vbYesNo, "Confirm Sheet Name")
        If intMessageBox = vbYes Then
            Exit Sub
        End If

        cnnExcel.Open "Provider=Microsoft.jet.OLEDB.4.0;" & _
                      "Data Source=" & strSelectedPath & _
                      ";Extended Properties=""Excel 8.0;"""

    Much thanks for your assistance ... David
    LVL 61

    Expert Comment

    That error can be associated with outdated versions of references.

    Excel 8.0, I believe is for Excel 2002 and earlier.

    Try a couple of things:

    1.  Without a specific version --

         cnnExcel.Open "Provider=Microsoft.jet.OLEDB.4.0;" & _
             "Data Source=" & strSelectedPath

    2.  With Excel 11 (Excel 2003)

        cnnExcel.Open "Provider=Microsoft.jet.OLEDB.4.0;" & _
                      "Data Source=" & strSelectedPath & _
                      ";Extended Properties=""Excel 11.0;"""


    Accepted Solution

    Greetings mbizup;

    I tried your suggestions, however, I received the message 'Run-time error '-2147467259 (80004005)': Unrecognized database format '<full path to Excel 2003 file>'

    I seem to have accidently resolved my problem. When I received the error in my original post, I stopped the VBA code in debug mode. I then made a single benign change to the code by deleting a blank line and readding it. I subsequently selected Compile from the Debug menu and ran the application again - this time no error occurred and the results were as expected.

    I repeated this process several times to ensure I received the same results which I did. I'm not sure why compiling the VBA code from the Debug menu would resolve the problem, but it has.

    Thank you mbizup and plummet very much for your time and suggestions.

    LVL 10

    Expert Comment

    Hi David

    I'm glad it worked. I tried it here, as I have a similar setup, and I couldn't get it to fail, so I was a bit stumped as to what to try next.

    All the best

    Author Closing Comment

    by:David Bach
    The solutions came about as a 'What the heck' type of action. I didn't realize what I had done solved my symptom until approximately an hour later.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Maximize Your Threat Intelligence Reporting

    Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

    In the previous article, Using a Critera Form to Filter Records (, the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
    Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
    Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
    What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

    737 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now