Date of last data change?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi, I have a database where I track all the databases written by my
department (we have about 75 active ones). I'd like to be able to click a
button and get the dates the data in those databases was last changed so I
can remove obselete ones. (My master database has the filenames & paths for
each of them.)
Right now, I use the Dir function and get the file date, but our backup
system re-dates everything to the current date, so it's no longer useful. I
wondered if one of the system tables would have that info. Each of the
databases would have the same system tables, of course, while they'd have
different table names for the actual data. (I'd rather write general code
than check each database and figure out its' main table name.)
We're using Access 2003, although some of the back-end data is still in
2000. Any help is much appreciated. Thanks!
 
hi,
Right now, I use the Dir function and get the file date, but our backup
system re-dates everything to the current date, so it's no longer useful.
Kick your backup software, otherwise use MD5/SHA1 as fingerprint for
your databases.


mfG
--> stefan <--
 
hi,
They don't let me touch the backup software. :-)
What's MD5/SHA1?
<cite>
MD5 and SHA1 are hash functions, they are algorithms for computing a
condensed representation of a message or a data file. The condensed
representation is of fixed length and is known as a message digest or
fingerprint.
</cite>

Two different files will have in most cases a different MD5 or SHA1
fingerprint, the other case is called a collision.

A fingerprint and the fingerprint of the same changed file will by
always different, chances are very small that they remain the same.

So by comparing files by using their fingerprint will indicate changes.

http://www.vbarchiv.net/download/download_detail.php?pid=362
has some implementations of the MD5 algorithm.


mfG
--> stefan <--
 
Hi Joanne,

The Jet database engine doesn't automatically timestamp records or
otherwise store the date on which data was last modified. (There's a
DateUpdate field in MSysObjects, but this relates to design changes.) So
unless the designer of the individual database included (a) timestamp
field(s) and VBA code to update them, there's no way of doing it.

Stefan's suggestion of storing a fingerprint for each file and comparing
the stored fingerprint with a newly-calculated one will let you learn
whether a database has been modified since you last took its
fingerprint, but it won't work retrospectively.
 
Dear Joanne:

You have the option to use MSDE which comes with Access. With moderate
modification, it can be used with an MDB. Then you would have a log of
every activity that makes any change to the state of the database
(appending, updating, deleting, creating tables, etc.) If such capability
is important to you, this may be an easier way of accomplishing what you
want without building considerable additional capabilities into your
database front end. This is a fully automated back end solution.

Tom Ellison
 
Back
Top