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