Solved

Server-side Access Database won't work for one of the client machines..why?

Posted on 2013-05-31
4
521 Views
Last Modified: 2013-06-10
I have an Access Database (2007) which resides on a central server.  Several employees run this database through shortcuts on their machines.  All of them work great except for one lady's machine (an XP machine...most of the other client machines are Windows 7).  When she runs the database, it does open and she is able to select a record through the main-form like everyone else, but at that point a "compile error: project or library cannot be found" message is displayed.  Along with that message a "Str" function is highlighted (it goes into debug mode) in some of the VBA code.  So this Str (convert to string) function is not being recognized on her machine.  That function is run out of a standard vba reference library (which she has in her reference list).  At this point, I figured this was a corrupt library and told Office to repair itself...which it did, but the problem remains still.  A full reinstall of Office didn't fix the problem either (although I don't think it was removed completely first..someone else did the reinstall).  So, thoughts anyone?
0
Comment
Question by:David L. Hansen
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
4 Comments
 
LVL 85

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 500 total points
ID: 39210614
That's a reference error. It means that one of the references in the application is not present on the user's machine, and you can't fix that by reinstalling Access.

The correct way to deploy an Access database (especially in a mixed-use environment) is to split the database into a BackEnd (tables only) and a FrontEnd (everything else), and then deploy the FE to each user.

You'll also need to insure that you use the "lowest common denominator" in regard to references. For example, if you're supporting users with both Office 2003 and 2010, and you need to make a reference to the Excel library, you'd need to reference the 2003 version (newer versions will "upgrade" the reference, but older versions cannot downgrade it).

Or you can use Late Binding, where appropriate. That will require reworking of your code, but it's the most foolproof way.
0
 
LVL 15

Author Comment

by:David L. Hansen
ID: 39211914
Thanks LSM,

The users all have Office 2007 (including the one in question).  I ran the diagnostic tool that comes with Office and it failed on the hard-drive test.  So it seems the mystery is solved.  You bring up some good points though.  I would like to separate the FE from the BE.  Any tutorials/advice you can give would be very much appreciated.  Also, with the late-binding...is that for executing code that is specific to the version of Office it sees, so that there is only one code-base but it will work on several versions?  That doesn't really apply to this group, but it peaked my interest when you mentioned it.
0
 
LVL 15

Author Comment

by:David L. Hansen
ID: 39211915
BTW, you've totally earned the points.
0
 
LVL 15

Author Closing Comment

by:David L. Hansen
ID: 39235395
Thanks!
0

Featured Post

Office 365 Training for IT Pros

Learn how to provision tenants, synchronize on-premise Active Directory, implement Single Sign-On, customize Office deployment, and protect your organization with eDiscovery and DLP policies.  Only from Platform Scholar.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article describes a serious pitfall that can happen when deleting shapes using VBA.
After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…

627 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