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.