Solved

When and who accessed an Access table

Posted on 2014-01-10
6
280 Views
Last Modified: 2014-01-10
This sounds remote, but we want to know who and when one of our Access tables was accessed.  Could be a linked table.  We have many tables in many databases that we don't know are used.  We'd like to clean them up(remove).

My brute force idea is to rename the table and see who complains.

Any other ideas?
0
Comment
Question by:gbnorton
6 Comments
 
LVL 35

Accepted Solution

by:
PatHartman earned 250 total points
ID: 39771670
You can get Total Access Analyzer from FMS (www.fmsinc.com) and it will do a good job of documenting the database and identifying any unreferenced objects.  It can't tell you when objects were last used however.  The only way to do that is to add tons of code to the application to track usage.

Newer versions of Access have uses/where used cross references but they are pretty clunky since you have to click through each object separately and you need Name Auto Correct turned on.  The FMS product is much easier to use since it simply gives you a report.

What I do when trying to clean up is to rename the suspect objects with "xx" as a prefix.  That puts them all together at the bottom of the list and they are there if some one complains.  Then after a period of time, I start removing them.

WARNING - make sure you have name auto-correct turned off before you start renaming objects this way or you'll be in for a rude surprise some day.  Name auto-correct doesn't work the way you expect it to so I find it best to simply leave it turned off.  Then if I have some bulk renaming to do, I turn it on.
0
 
LVL 39

Expert Comment

by:als315
ID: 39771695
You can also enable audit for files and (or) folders:
http://technet.microsoft.com/en-us/library/cc771070.aspx
0
 
LVL 47

Assisted Solution

by:Dale Fye (Access MVP)
Dale Fye (Access MVP) earned 250 total points
ID: 39771718
Wow, any number of ways to access a table (form, rowsource of a combo or list, query, report, code).  

Simply renaming the table is likely to break many of your database applications.  

There is no simple way to identify what is being used, by who, at least not with an Access database.  however, the mSysObjects table (usually hidden) contains a DateUpdated field which might be able to help you identify the objects that are least used.

The best method I've used in the past is to create a table that contains a userID, date, and Object fields.  Then, in my forms and reports, I will add code in the form Open event that write to values to this table to track usage.  I would write the formname as one record, then the name of the query or table that is the recordsource for the form as another, and if the query uses more than one table, each of those would require another record.  Would do the same thing for your reports and in your code.
0
Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 39771897
As mentioned above, Total Access Analyzer will analyze the database and provide you with a broad range of reports.

another useful tool is Rick Fishers "Find & Replace".  It will find all instances of a particular value or string in the objects (not the data) in your project, so you can easily identify everywhere a particular table is used.  It will also create cross-references.  This could help you identify where those tables you are interested in are used, and flag where you need to put the code I mentioned above.
0
 
LVL 57
ID: 39771953
+1 on Rick Fisher's utility; it's $37 bucks and well worth the price.

The cross reference will tell you exactly where an object is used, or give you a list of all objects that are not used.

When I inherit a database, I do two or three passes using the cross reference to clean up all the junk.

Jim.
0
 

Author Comment

by:gbnorton
ID: 39771978
I have Ricks Find and Replace.  I'll use it as you've suggested.
0

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

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

QuickBooks® has a great invoice interface that we were happy with for a while but that changed in 2001 through no fault of Intuit®. Our industry's unit names are dictated by RUS: the Rural Utilities Services division of USDA. Contracts contain un…
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

770 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