Solved

Reference library: Outlook 11.0 and other users still using Office10! "Problem loading DLL".

Posted on 2006-07-07
7
485 Views
Last Modified: 2011-10-03
Hi there,
Here's the scenerio: Access database I developed when I had Office Pro 2002.  My machine has been upgraded and IM department installed Outlook 2003 and retained the rest of Office 2002.  Now, when people enter the same database they have been using without a problem before, they receive the error message "Problem loading DLL" or something similar.  This distresses me slightly because I don't know how to trap that error and the user is thus introduced to the VBA editor in debug mode!  I have managed to find a quick and dirty fix which is highly similistic, but works: copy the Outlook 11.0 Object Library file (MSOUTL.OLB) from my computer and create a new folder called Office11 alongside their Office10 folder in Program Files > Microsoft Office and pop the MSOUTL.OLB file in there.  There has been 100% success using this tactic, but I am not satisfied:
Did Access automatically update the Outlook 10.0 Objects Library that I must have checked when developing to Outlook 11.0?
If so, would this have happened when I open the database? or will it be some kind of roll-out thing I should know about?
What would be a more suitable, long-term, sure-fast fix for this problem?
How can I trap this error in the future?

By the way, I no longer have the Outlook 10.0 Objects Library available in the list.
Your expert opinions are much appreciated on this issue.

Many thanks
Richard
0
Comment
Question by:Naryan108
7 Comments
 
LVL 65

Accepted Solution

by:
rockiroads earned 63 total points
ID: 17057088
Is your code making reference to this Outlook object library?
Have u got it as a activex control on your form or via code?

if via code, have u considered late binding, so that problems with different versions dont occurr?

0
 

Author Comment

by:Naryan108
ID: 17057127
I'm using the object library from code.  No I hadn't considered using late-binding; seems like that would do the trick though eh? (even though I'm gonna have to do some re-writing of code).
Thanks
Richard
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 17057200
Sounds like u know what your doing then, so I wont bother with code examples
All I say is, I dont think it will be that much rewriting
change variables to be defined as Objects
and do a CreateObject instead of New

With late binding, u can remove the reference to the Outlook Object library. It is not required

0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 84

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 62 total points
ID: 17057350
rocki is correct in that Late Binding will certainly work for you.

One other item - you cannot legally distribute MSOUT.OLB to endusers - it's a violation of the licensing agreement. Not that MS is gonna come down and jump you <g>, but it also can cause some pretty serious problems on the enduser machine ... Different versions of Outlook cannot co-exist on the same machine very well (which is why, when upgrading your Office install with a new version, while keeping the old version, you get a message stating you must upgrade your Outlook install).  Also, the MSOUT.OLB library is dependant on many, many other libraries, and many of those are version specific as well. While your Access code probably doesn't make use of any of these functions, using the library without supporting libraries can cause instability on the machine.
0
 

Author Comment

by:Naryan108
ID: 17057393
Hey, many thanks for that very valuable information.  I knew it was a dodgey solution and I don't want to use slapstick fixes.  I intend to implement the late binding solution asap.
Again, many thanks
Richard
0
 
LVL 27

Expert Comment

by:jjafferr
ID: 17461543
No comment has been added to this question in more than 21 days, so it is now classified as abandoned.

I will leave the following recommendation for this question in the Cleanup topic area:
    Split: rockiroads {http:#17057200} & LSMConsulting {http:#17057350}

Any objections should be posted here in the next 4 days. After that time, the question will be closed.

jjafferr
EE Cleanup Volunteer
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
In the article entitled Working with Objects – Part 1 (http://www.experts-exchange.com/Microsoft/Development/MS_Access/A_4942-Working-with-Objects-Part-1.html), you learned the basics of working with objects, properties, methods, and events. In Work…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now