p2p.wrox.com Forums

p2p.wrox.com Forums (http://p2p.wrox.com/index.php)
-   Access VBA (http://p2p.wrox.com/forumdisplay.php?f=80)
-   -   Broken References (http://p2p.wrox.com/showthread.php?t=7281)

tcarnahan December 16th, 2003 01:06 AM

Broken References
 
Without the benefit of having the Office Developer's Edition available, I distribute an MS-Access application to users in a non-executable format (i.e. they must have MS-Access on their PC in order to run the app ...I don't have an installer).

     Normally, in our small group (less than 50 users all running MS-Office 2000), it is not a problem. However, we have a LAN Administrator who is still cutting his teeth. My app refers to an number of .dll's and other libraries that are part of Access but are not normally installed. When the LAN Adminstrator reloads his baseline, sometimes he "loses" the pointers that Access has to my dll's so they are reported as MISSING (broken refs). While the refs are somewhere on the user's PC, Access can't find them and dumps the user out into the VBA Editor.

To overcome this problem, I have compiled a list of all the refs I use, their attributes such as filepaths GUIDs, major, minor, etc and have put them into a table (for purposes of illustration, call it "tblMyRefs").

What I would like to do on Startup, is have my code, enumerate the refs, determine the broken ones, look up the applicable info it needs from my table, and re-establish the links. If it cannot resolve the problem, have it display a message "Problems with dynamic link libraries ... contact the LAN Administrator!" ... just joking about the message, but I would rather have it display a graceful error recovery than leave the user stranded in code.

Can anyone suggest a procedure to do this?

Thank you ahead of time for your help! :)





--- Tom

Steven December 16th, 2003 02:22 AM

A possible solution, rather than do all that, is to store the dlls somewhere on your LAN where everyone can get to them (possibly a sub dir of where you keep your db), and change your references to point to those files, rather than the ones stored in "C:\Windows\System32" or wherever.

This would avoid having to even think about creating a startup procedure

Steven

I am a loud man with a very large hat. This means I am in charge

tcarnahan December 17th, 2003 10:13 PM

That would work in ordinary circumstances, but there is a lot of security on this LAN and and all workstations. Users (and developers) are locked out of lots of things (registry, certain folders, no installations, etc). One can never count on anything being standard.


--- Tom

sal December 17th, 2003 11:27 PM

You must work under ordinary circumstances where the so-called network administrators work against any developer with a legitimate need. You could also create a folder on the C: directory of each workstation and move your dlls to that directory. Just send an e-mail to the boneheads who will not allow you to do this and cc someone hier up your chain.
Make sure that first you ckeck with your power users (also known as network admnins) to see if that is acceptable.

There is only one thing that I have found to be standard, This issue.




Sal

tcarnahan December 19th, 2003 12:10 AM

Amen!


--- Tom


All times are GMT -4. The time now is 01:29 PM.

Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.