Having weird DLL Reference Issues in Access 2003

MitchellVII
MitchellVII used Ask the Experts™
on
Hi,

Just had to wipe my hard drive and do a full restore.  Backed up my Access 2003 databases and restored as well.  Prior to the wipe, Access 2003 was functioning properly.

As you will see, I am also running Office 2007 for Word, Excel, etc...

Now, every time I try to run any automations I am getting DLL missing errors.  I have checked References and nothing is MISSING.  All seems to be in order.  Below is an image of my References.

Can someone point me to the one that might be missing?  Thanks.

This is my current References setup.  What's missing?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
Top Expert 2007

Commented:
Does your VBA code Compile ?  (Menu>>Debug>>Compile)

mx

Author

Commented:
No it does not.  Even the most basic built in Functions like Split() are throwing me ByRef errors when they never did before.
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
Top Expert 2007

Commented:
Well, that is a classic sign of a Missing Reference, but ... that does not appear to be the case. When Compile, what line is highlighted ?
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
Top Expert 2007

Commented:
Actually, I don't see a Reference to ACE ... if this is 2007/10.  Access Connectivity Engine ...

Office 12 Access Database Engine object .... I think that s/b there, as it is on my A2010 system (but  14)
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
Top Expert 2007

Commented:
Make that Microsoft Office .......

Author

Commented:
When I attempt to compile my code, the first line to be highlighted is this:

strDragIDCategory = fFocusIDLink(Split(strDragCtlType, ",")(0)) 'This is the CATEGORY of the ID the value is being dragged from.

Open in new window


This never caused an issue before.

But then if I try to activate .Recordset.FindFirst from some menu code I get a Missing DLL Error on this:

 .
Recordset.FindFirst "[CompanyListnameTitle] Like " & "'*" & CommandBars("MenuContact").Controls("ø Find ...").Controls("Enter Text to Find:").Text & "*'"

Open in new window

Author

Commented:
Ok, I have gone back and tested database versions from 6 months ago.  Same error on Split().  Clearly some missing reference here but damned if I can find it.
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
Top Expert 2007

Commented:
Well ... I don't see the ACE Reference ...
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
Top Expert 2007

Commented:

Author

Commented:
DMX,

I added the Office 12 version of that.  Still getting error.

You know, I always assumed that when doing a fresh install of Access that the proper Libraries would load automatically.  No?
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
Top Expert 2007

Commented:
Well, they certainly should.  Try the Decompile procedure below (ignore reference part): It might turn up something else.


Open the VBA Editor and from the menu ...Tools>>References ....
If you see any listed as **Missing: <reference name>, including the asterisks and the word Missing, the
you need to fix that first.

Then, follow this procedure:

****
0) **Backup your MDB BEFORE running this procedure**
****
1) Compact and Repair the MDB, as follows:
Hold down the Shift key and open the MDB, then from the menu >>Tools>>Database Utilities>>Compact and Repair ...
Close the mdb after the Compact & Repair.
2) Execute the Decompile (See example syntax below) >> after which, your database will reopen.
3) Close the mdb
4) Open the mdb and do a Compact and Repair (#1 above).
5) Close the mdb.
6) Open the mdb:
    a) Right click over a 'blank' area of the database window (container) and select Visual Basic Editor. A new window will open with the title 'Microsoft Visual Basic' ... followed by then name of your MDB.
    b) From the VBA Editor Menu at the top of the window:
       >>Debug>>Compile
        Note ... after the word Compile ...you will see the name of your 'Project' - just an fyi.

7) Close the mdb
8) Compact and Repair one more time.

*** Executing the DeCompile **EXAMPLE**:
Here is an **example** of the command line syntax  (be SURE to adjust your path and file name accordingly) before executing the decompile:

Run this from Start>>Run, enter the following command line - **all on one line** - it may appear like two lines here in the post:
Also, the double quotes are required.

"C:\Program Files\Microsoft Office\Office\Msaccess.exe" /decompile "C:\Access2003Clients\YourMdbNameHERE.mdb"

For more detail on the Decompile subject ... visit the Master on the subject (and other great stuff) Michael Kaplan:

http://www.trigeminal.com/usenet/usenet004.asp?1033

AND ...
Once you get familiar with the Decompile idea (and ALWAYS make a BACKUP first!) ... you can add both Decompile and Compact/Repair to the Right Click menus in Windows Explorer, which I use multiple times daily:

Getting the Decompile and Compact context menu options
http://access.mvps.org/access/modules/mdl0039.htm (note:line my be temporarily broken - if so, let me know and I can upload).

mx

Author

Commented:
DMX,

Ok, I'll try that, thank you.

In the meantime, I went through this list:

    Visual Basic for Applications Library Reference (Vbe6.dll)
    Microsoft Access 11.0 Object Library Reference (Msacc.olb)
    OLE Automation Library Reference (Stdole2.tlb)
    Microsoft ActiveX Data Objects 2.1 Library Reference (Msado21.tlb)
    Microsoft ActiveX Data Objects 2.5 Library Reference (Msado25.tlb)
    Microsoft ADO Extensions 2.5 for DDL and Security Library Reference (Msadox.dll)
    Microsoft Jet and Replication Objects 2.5 Library Reference (Msjro.dll)
    Microsoft DAO 3.6 Object Library (Dao360.dll)
    Microsoft Office 11.0 Object Library Reference (Mso.dll)

recommended here:

http://support.microsoft.com/kb/825796

and strangely found many of the libraries just missing altogether from my list.  I had to browse for them to add them - weird, right?

And now with all libraries added as recommended, still same error.

HOWEVER, did note one possible issue.  This list calls for this:

Microsoft ADO Extensions 2.5 for DDL and Security Library Reference (Msadox.dll)

But all I could find was this:

Microsoft ADO Extensions 2.8 for DDL and Security Library Reference (Msadox.dll)

Could that be the issue?

Last thing, list calls for both these:

    Microsoft ActiveX Data Objects 2.1 Library Reference (Msado21.tlb)
    Microsoft ActiveX Data Objects 2.5 Library Reference (Msado25.tlb)

Isn't that a conflict?  I can't get both to load.
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Application Developer
Top Expert 2007

Commented:
Are you sure you even need all those references?  This basic set is shown in the screenshot I posted.

ADO 2.8 vs 2.5 should not be an issue.

mx

Author

Commented:
Ok, went through the process you recommended.

Still getting error on basic stuff like:

Split() and any

.FindFirst

references.  So weird.

Author

Commented:
I would think it is just a corrupted database but i tested even old backups and same errors.  There is some corrupted .dll somewhere I am betting.

I will try running it on my laptop and see if I get same error.  May just have broken Windows install.

Author

Commented:
PROBLEM SOLVED:

Was corruption somewhere in my Windows 7 installation.  Reinstalled Windows 7 and problem gone.  Who knows?

Thanks for all your help.  Just repeat my solution here and I'll give you well earned points :)
Database Architect / Application Developer
Top Expert 2007
Commented:
WOW .... good news.  Seems unusual, but hey ... what ever it takes.

Keep the Decompile procedure handy ... I promise (unfortunately) that you will need it in the future ...

mx

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial