How do I correct an "Error in loading DLL (Error 48)"?

C

cheesehead

Greetings,

Can anyone tell me how to correct this error? I'm not an Access or Windows
guru, so the tips that Microsoft provides on how to resolve the problem do me
no good. Just how does one "Obtain the referenced DLL and make it available
to the other DLL" or "Move the DLL to a referenced directory or place its
current directory on the path"? These fix descriptions are so short as to be
meaningless to a novie such as myself.

The problem started when I brought a database from work home so that I could
work on it. I scanned the file for viruses before loading it on my home PC,
and it is clean. I made a copy so as not to corrupt the original, and it
opened okay. However, when I subsequently tried to create a new Access
database (the old version is poorly designed), I received and "Error in
loading DLL (Error 48)" message.

I've already tried deleting and re-installing Office, and that hasn't
corrected the problem. My next step is to wipe out and re-install Windows
XP, and I really don't want to do that. Anyone care to give me an assist?
 
J

James Hahn

Where are you seeing these Microsoft instructions?

You would obtain the DLL by copying it off the installation CD or some other
machine or by downloading it from the www or saving it from an e-mail that
MS has sent to you . You move it to a particular location using copy and
paste or drag and drop in Explorer. The current directory is the one that
the application was started from. The path includes \Windows\system32 by
default, but you can add other locations.

However, DLLs don't just suddenly go missing, and certainly not simply as a
result of copying a new database file to your system. There is something
else going on that is actually creating the problem, but without any details
it's not possible to speculate on what that might be.
 
C

cheesehead

James,

I appreciate your guidance, but I'm afraid I could not get the solution to
work.

I did find the ACCESS.DLL file on my Office CD, and did a copy and paste to
the /Windows/System32 directory where the rest of the DLL files are located.
Alas, when I started Access and attempted to create a new database, the
problem manifested itself yet again.

So, I'll try to give you some more information. The instructions I am
talking about come up when I select the "Help" button in the "Microsoft
Visual Basic" error message window, vs. selecting "OK."

Here is the complete error message:

Error in loading DLL (Error 48)

A dynamic link library (DLL) is a library specified in the Lib clause of a
Declare statement. This error has the following causes and solutions:

The file isn't DLL-executable.
If the file is a source-text file, it must be compiled and linked to DLL
executable form.

The file isn't a Microsoft Windows DLL.
Obtain the Microsoft Windows DLL equivalent of the file.

The file is an early Microsoft Windows DLL that is incompatible with
Microsoft Windows protect mode.
Obtain an updated version of the DLL.

The DLL references another DLL that isn't present.
Obtain the referenced DLL and make it available to the other DLL.

The DLL or one of the referenced DLLs isn't in a directory specified by your
path.
Move the DLL to a referenced directory or place its current directory on the
path.

For additional information, select the item in question and press F1 (in
Windows) or HELP (on the Macintosh).

Some additional information: This problem occured on my home computer,
where I use Office (& Access) 2003 on Windows XP Professional on a
stand-alone computer. Incidentally, I couldn't find Explorer on Windows XP
but was able to negotiate the "My Computer" window to get to the directories
I needed.

The database I brought home from work was an Access 2000 file, with a
switchboard "Form" that autoloads when the database is first opened. The
reason why I believe this other Access file contributed to the problem is
that at work I am working in a networked environment, and do not have Access
loaded on my personal workstation. As an admitted novice, I am inclined to
believe that when I tried to open this "Work" database on my home computer,
it changed something in my home computer where my home computer is looking
for DLL files on a network that is not there. But I admit, I'm just
guessing.

Interestingly enough, a co-worker of mine today admitted he had encountered
a similar problem with Excel a few months back, but could not recall how he
finally corrected the problem.

I do appreciate your attempt to give me an assist. I don't know what other
kind of details I could provide to help point you in the right direction, but
right now I'm thinking I'm up the creek without a paddle. I still have not
received a response from Microsoft.

Thanks,
Mike

James Hahn said:
Where are you seeing these Microsoft instructions?

You would obtain the DLL by copying it off the installation CD or some other
machine or by downloading it from the www or saving it from an e-mail that
MS has sent to you . You move it to a particular location using copy and
paste or drag and drop in Explorer. The current directory is the one that
the application was started from. The path includes \Windows\system32 by
default, but you can add other locations.

However, DLLs don't just suddenly go missing, and certainly not simply as a
result of copying a new database file to your system. There is something
else going on that is actually creating the problem, but without any details
it's not possible to speculate on what that might be.
 
J

James Hahn

I would be suspicious of the integrity of any system where you can't find
Explorer.

The important additional information is the name of the DLL file. I believe
your problem is described here:
http://msdn.microsoft.com/library/d.../html/wrrefofficeprimaryinteropassemblies.asp

Do you know if the database you used was created using Visual Studio?

However, that article does not provide any method for resolving the problem.
Since the re-installation didn't fix the issue, then it may be caused by a
reference that ACCESS is not creating or updating in the installation
procedure, but is created later in some configuration step (ie, when you
installed the database from the office). You could try scanning the
registry for references to the DLL and removing them. Be sure to export the
relevant keys before making any changes, so they can be imported again if
the change does not work.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top