Run-time error '430': Class does not support Automation or does not support expected (1 Viewer)

irade92

Registered User.
Local time
Today, 06:45
Joined
Dec 26, 2010
Messages
228
Hi
VBA get this message on some computers. "Run-time error '430': Class does not support Automation or does not support expected interface". I use win 7 registered and office 2010 activated..
How to solve this problem...
Please help!!!!
 

Gnasch

Registered User.
Local time
Yesterday, 22:45
Joined
Jul 14, 2011
Messages
12
Check the library that the class function is store in, ie a dll. Then make sure that you have the same version of the library file installed on all the computers and that your references are all set correctly.
 

irade92

Registered User.
Local time
Today, 06:45
Joined
Dec 26, 2010
Messages
228
Check the library that the class function is store in, ie a dll. Then make sure that you have the same version of the library file installed on all the computers and that your references are all set correctly.

Thanks for your effort to help me...but please how can I check the version of library I have installed on my com. or others...VBA take me to this line of code
" Dim rs As ADODB.Recordset
> Set rs = New ADODB.Recordset <
rs.Open "tblMATICNI", CurrentProject.Connection, _
adOpenDynamic, adLockOptimistic ...."
in References I have checked the same lib here and there i.e Microsoft ActiveX Data Objects 2.8 Library....What else I should do?
Thanks a lot for your replay..
 

Gnasch

Registered User.
Local time
Yesterday, 22:45
Joined
Jul 14, 2011
Messages
12
I dont get an error on that, but code runs differently on a machine with access installed rather than just the run time.

If its having a heartache with setting rs then try using this instead.

Code:
 Dim rs as new ADODB.recordset
 
rs.Open "tblMATICNI", CurrentProject.Connection, _
adOpenDynamic, adLockOptimistic ...."

I dont use the SET command in any of my ADO objects.
 

boblarson

Smeghead
Local time
Yesterday, 22:45
Joined
Jan 12, 2001
Messages
32,059
If some computers have Windows 7 SP1 or Office 2010 SP1 and others do not then you will run into a problem using ADO. You can move to using LATE BINDING with it or you will need to compile the database on the machine which doesn't have SP1 of either, for use on those type of machines. The registry keys for the ActiveX Data Objects changed in SP 1 of Windows 7 and also in SP1 of Office 2010. This is a very hot issue right now as Microsoft gave nobody any warning that they were going to do this.

The other fix is to make sure ALL computers are on Windows 7 SP1 and Office 2010 SP1.
 

irade92

Registered User.
Local time
Today, 06:45
Joined
Dec 26, 2010
Messages
228
If some computers have Windows 7 SP1 or Office 2010 SP1 and others do not then you will run into a problem using ADO. You can move to using LATE BINDING with it or you will need to compile the database on the machine which doesn't have SP1 of either, for use on those type of machines. The registry keys for the ActiveX Data Objects changed in SP 1 of Windows 7 and also in SP1 of Office 2010. This is a very hot issue right now as Microsoft gave nobody any warning that they were going to do this.

The other fix is to make sure ALL computers are on Windows 7 SP1 and Office 2010 SP1.

Thanks Bob..
 

skilly2

New member
Local time
Today, 01:45
Joined
Jul 27, 2011
Messages
1
FYI - there is a hotfix available. If you google "windows 7 late binding ado" the third link (from wordpress.com) has a very detailed explanation of why it's broken (sorry, because I'm a new user, I can't post a link). The first link from microsoft can also be helpful if the hotfix doesn't work. The quote below is from the first link I posted. I haven't "tested" the hotfix yet, but came across it after I found this forum. Just thought I would share.

"The walkarounds suggested by Microsoft are to either upgrade customer computers with the KB983246 hotfix or switch to late binding. In addition there are programmers who remove Windows 7 SP1 or bind to an old version of the msado28.tlb file that get copied to the development machine somehow, getting around Windows’s system file protection by taking ownership of the files and grant access to administrators."


EDIT: After posting this and trying to find the hotfix I've been told that the new KB from microsoft is KB2517589. Unfortunately, it doesn't work for VBA. Sorry about my original post... I thought it was the solution! Read below:

Posted by Microsoft on 4/28/2011 at 12:18 AM
Announcement:

Microsoft has just decided to stop the download of the original KB at: support.microsoft.com/kb/983246. The download link will be removed in a few days and the KB will be slightly modified with a warning message.

Customers should not download the original KB. If you have already downloaded the KB, we suggest you to uninstall the KB first.

Sorry for any confusion and extra work that you have already spent on this issue. We will release a new KB later.
(As mentioned above, I cannot communicate any technical detail or date of our plan, sorry about that. But this is still our top priority work)

Thanks,
Ming.
WDAC Team, Microsoft.

and this:

Posted by Microsoft on 4/6/2011 at 11:27 PM
We have just released a new version of the KB: support.microsoft.com/kb/2517589 which provides a new workaround to the issue. This can be viewed as a temporary solution to the issue (for C++, VB6 and VB.NET customers only). Although this is temporary, this should work forever if you chose this workaround, since the downloaded typelib is basically the same as the one shipped in Win7 RTM (with LIBID changed, so you can see two entries in the "Add Reference" dialog). This is suitable for those customers who would like to use Win7 SP1 as a development platform.

Unfortunately, the workaround cannot work for VBA scenario.

We understand this can still cause some inconvenience to customers since you need to change the referenced typelib, and this does not work for VBA customers. But this is the fastest solution that we can provide to temporarily resolve this issue. And we are still working on a longer-term solution which may take more time.

Regards,
Ming.
WDAC Team, Microsoft.
 
Last edited:

Users who are viewing this thread

Top Bottom