MS Access 2007, 2016 run-time error 48, error in loading dll

A Windows 10 machine cannot open some function of a 2007 Access database. Giving the above error. This appears to have something to do with VBA > Tools > References pointing to Microsoft Word 12.0 Object Library vs. Microsoft Word 16.0 Object Library.

Solution:

Removed all MS Office in the Win10 machine. Installed MS Office 2016 (32-bit, since the original was 32bit), which changes all machines' access to the database to point to the new reference: Microsoft Word 16.0 Object Library, causing some errors since the 2007 version couldn't handle 2016 one (the fix is easy, just go in to the references and change it to the right MS Word object library version, but this has to be done every time manually whenever the other version from another machine use the database and thus changed the library version), so I installed MS Office 2007 again on top of the 2016 version. The system automatically defaults office apps, including reference library to 2007 version instead of the 2016 version. And this time, the 2007 on Win10 works great with all features of the database. I will not remove the 2016 version for now, too lazy to deal with it testing it without the 2016 version at this point.

Update 1/24/2023:

Maybe I could still get a better fix by figuring out what (could be DAO vs. ACE) was deprecated and add those features back, but then we would be stuck at Office 2007. It's time to move on. Since I've already updated some Access VBA scripts to be compatible with the higher versions (i.e. revise LCase to VBA.LCase instead, etc.), I believe that the old database is compatible with the 2016 client. The only thing I need to watch out for is not letting version 2016 to dominate and save the VBA references (as mentioned above), one way to do this is to keep the DB open on the server so others won't have exclusive rights to mess with it.

So the final solution is this: use Office 2016 for these All-in-One Dells. Use KMSpico if necessary. Works fine now...for now.

Update 3/10/2023:

Finally found the solution for this. I pastes the solution from the site here below:

Microsoft Access and Outlook Integration - 48 Error in Loading DLL

A customer with a 3rd party developed Access database/application ran into this issue with some new computers. These were running 64 bit Windows 7 and 32 bit Office. The specific task was trying to open a new email in Outlook from Access.

While the error was 48 Error in loading DLL the problem had nothing to do with DLLs. It ended up being that because the computer was preloaded with Office 2016 (trial version, from Dell), when uninstalled it left some garbage behind in the registry. After running Procmon and finding out what it was trying to do, it wasn't too hard to find and fix.

The solution in the end was to delete the registry key (and subkeys):

HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}\9.6

Obviously make a backup of this key before deleting, but this did the trick for all affected computers.


The first registry key suggested above apparently weren't enough as the NYGC Student Access Database still gives the same error when clicking on the Class Registration Form button in Class Registration to open up MS Word template for auto-fill. So I ended up deleting a bunch of "office16" keys in HKEY_CLASSES_ROOT\TypeLib\* by doing F3, until I got tired of searching, seems to be so many of them, and I decided to test it out and voila! It works!!!

This entry was posted in Technical. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.