?
Solved

When and who accessed an Access table

Posted on 2014-01-10
6
Medium Priority
?
293 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
[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
6 Comments
 
LVL 38

Accepted Solution

by:
PatHartman earned 1000 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 40

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 48

Assisted Solution

by:Dale Fye
Dale Fye earned 1000 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
10 Questions to Ask when Buying Backup Software

Choosing the right backup solution for your organization can be a daunting task. To make the selection process easier, ask solution providers these 10 key questions.

 
LVL 48

Expert Comment

by:Dale Fye
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 58
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

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

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

In earlier versions of Windows (XP and before), you could drag a database to the taskbar, where it would appear as a taskbar icon to open that database.  This article shows how to recreate this functionality in Windows 7 through 10.
Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
Suggested Courses

752 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