[AccessD] MSADO28.tlb and MDAC

Borge Hansen pcs.accessd at gmail.com
Wed Apr 29 22:49:19 CDT 2009


Hi all!

Statement : MDAC (Microsoft Data Access Components) is just dll hell
incorporated!

Question:
How do I install MSADO28.tlb on a Windows XP SP3 ??

Background information:

The MDAC components appear to all be sitting in

C:\Program Files\Common Files\System\ado

On my Vista Ultimate machine the file called

msado15.dll is referenced as "Microsoft Active Data Objects Recordset 6.0
Library" when I examine it in the VBA Code Window - Tools>>References
The file version information - when you hover the mouse over the file in the
windows explorer window - corresponds with that

On a Windows XP SP3 machine the same file - msado15.dll - has the version
property set to version 2.81 something and is referenced as Active Data
Object 2.8 in the VBA Code Reference window.

However, I need a completely different file to act as the ADO2.8 reference,
namely the file called MSADO28.tlb


In VBA Code Tools>>References I need to reference MSADO28.tlb as the Active
Data Objects Version 2.8 -
I can do that with no problem from my Vista machine.

Because the MSADO28.tlb file exists in the C:\Program Files\Common
Files\System\ado folder !!

On a Windows XP SP3 the MSADO28.tlb file simply does not exist!

Instead the msado15.dll acts as the ADO 2.8 version

If try and install a redistributable MDAC - supposedly containing the
MSADO28.tlb file - on the Windows XP SP3 I get the response that that is not
possible as the MDAC is considered part of the windows operating system on a
Windows XP SP3 machine.

????

So why do I need ADO 2.8 and  - as it appears - specifically the file called
MSADO28.tlb  ?

Many moons ago someone on the list pointed to the fact that using ADO2.8 you
can from VBA execute a parameterized Stored Procedure (SP) in SQL 2005 - and
have the SP return an output parameter that comes right back to you in the
VBA code environment.

Sadly, that does not happen on a Windows XP SP3 machine where msado15.dll
is set up to be ADO 2.8 .
It definitely does not enable the return of an output parameter to the
calling VBA code.

So how do I get the MSADO28.tlb file (that on Vista and probably other
windows machines gives the ADO 2.8 "functionality")  onboard a Windows XP
SP3 machine ????

Can anyone help out here??

Regards
Borge

PS / Note:
I find it quite handy to be able to return an output parameter from a SP
back into the VBA Code, for example:
You get immediate confirmation that the SP executed and executed without
errror.
On an Insert  SP I can return the AutoNumber ID
On an Update SP I can use the Version / TimeStamp column to prevent User
A update a record that has been updated by User B (timestamp value has now
changed) after User A retrieved the record in order to do an update



More information about the AccessD mailing list