Solved

When and who accessed an Access table

Posted on 2014-01-10
6
274 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 34

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
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
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

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
It took me quite some time to sort out all the different properties of combo and list boxes available from Visual Basic at run-time. Not that the documentation is lacking: the help pages are quite thorough and well written. The problem was rather wh…
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.
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

760 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now