what databases are linked to my Microsoft Access table?


Is there a way I can find out what other databases or applications (Excel, etc.) are linked to a table in my Microsoft Access database?

My first thought is to open all the other Access databases on the network shared drive (if they're not secured and I can get in them) and look at any linked tables that point to my Access Database.   However, if their applications are not in Access or is on their local pc, I would not know that they are linking to a table in my Access database.

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Microsoft offers a utility
The LDBView utility is used to accomplish the following tasks:

Discover which users have been connected to the database and which users are currently connected to the database.
Discover the values of the commit bytes in the DBH (database header page).
Determine which user or users have left the database in a suspect state.

From this source: http://support.microsoft.com/kb/176670

<Modified by SouthMod to include attribution above>

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
paultran00Author Commented:
Thanks.  I downloaded and ran LDBView but it only shows 1) current users   and   2) who opened my database directly (let's refer to it as MyDatabase.mdb) as opposed to showing me who's linked to my database (because the MyDatabase.ldb file would not be created for the LDBView to read from).

Say I have another database (let's refer to it as ReaderDB.mdb) that links to the MyDatabase.mdb but the LDBView does not show that ReaderDB.mdb is attached.  Also, whoever's attached to MyDatabase.mdb in the past may not be attached to it now but I need to find that out so is there a way I can see a history of anything that was ever attached to MyDatabase.mdb ?
This looks like a job for a database reporting tool. Most will show inbound links if a link table is available for the connections. I will look around as I need one also
Webinar: Cyber Crime Becomes Big Business

The rising threat of malware-as-a-service is not one to be overlooked. Malware-as-a-service is growing and easily purchased from a full-service cyber-criminal store in a “Virus Depot” fashion. Join us in our upcoming webinar as we discuss how to best defend against these attacks!

Jeffrey CoachmanMIS LiasonCommented:
Not sure if this might help, but:
1. For the record, there is no one tool (that I know of) that will do all of what you are asking.
You can look into this utility:
2. You can see any linked tables (Tables that are linked into your DB) byr unning a query like this

SELECT msysobjects.Connect, msysobjects.Database, msysobjects.Name, msysobjects.Type
FROM msysobjects
WHERE msysobjects.Type=6;

However (again, if I am understanding your request) I don't know of a way to tell what user or what other DB might be using a table in your DB as a linked table.
(Opening their DB and seeing (linking to) your tables)

DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Systems AnalystCommented:
"Is there a way I can find out what other databases or applications (Excel, etc.) are linked to a table in my Microsoft Access database? "
You really can't.  You *can*, as shown above ... find out what *users* are connected, but not what applications like Excel, etc.  At least, I've never seen a way.


paultran00Author Commented:
To boag2000:

This is the scenario:

C:\LocalFrontEnd.mdb and J:\FrontEnd.mdb link to the data on J:\BackEnd.mdb

I opened C:\LocalFrontEnd.mdb and J:\FrontEnd.mdb table that links to J:\BackEnd.mdb then I ran your SELECT statment within J:\BackEnd.mdb and J:\FrontEnd.mdb but it returned no records (I want to know who/what has links to J:\BackEnd.mdb currently AND in the past).

So, I ran your SELECT routine within C:\LocalFrontEnd.mdb and it shows a list of linked tables that it's attached to; however, this is not what I need.

Do you have any ideas?  Thanks.

DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Systems AnalystCommented:
"(I want to know who/what has links to J:\BackEnd.mdb currently AND in the past)."
You can only know who ...  and mainly present.  And to do that, you need a tool similar to the ones posted above:

http://support.microsoft.com/kb/176670   ' very weak

http://www.fmsinc.com/MicrosoftAccess/monitor.asp 'AWESOME - I use it daily at work.

Jeffrey CoachmanMIS LiasonCommented:
Is your main goal here to "Know" who and what is connected to your DB, ...or is your goal here to "Control" who/What is connected to your DB...?
or neither, ...or both...?
paultran00Author Commented:
main goal is to Know who and what is connected to the data in J:\BackEnd.mdb.   I have a front end application J:\FrontEnd.mdb that links to J:\BackEnd.mdb but I want to know who/what else (currently and in the past) is using the data in J:\BackEnd.mdb.  

Someone gave me a report (to create a mailing label with just 2 lines printed) that looks like it could have come from my J:\FrontEnd.mdb (which I didn't create but I inherited it) but I reviewed the code and J:\FrontEnd.mdb couldn't have produced the report that I was shown.  
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database Architect / Systems AnalystCommented:
But how come you do not have Control as to who (=what) connects to your db's ?

Summarizing:  You will not be able to determine *where* the connection is coming from per se, IE an mdb name, only a Device ID.  Of course, you could independently track down the Device ID and find out who/where that is coming from.   ALL ldb viewers extract the same information essentially, which, unfortunately ... does not include where (or what) the connection comes from.

paultran00Author Commented:
Endusers know the password in order to use the J:\FrontEnd.mdb to connect to J:\BackEnd.mdb.  Because they know the password, they can attach to J:\BackEnd.mdb via other applications.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.