Timestamp

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

Guest

I have a database that can only be edited by the Supervisors and the
Administrator. I want to make it so everytime a field is changed it creates a
time stamp of the change and what the change is. What's the easiest way to go
about doing this?

By the way, they are editing the it in the normal table view, no through a
form. Do you have to use code for this or is it something that can be done by
simpler means?
 
Here is a site that describes how to do this in detail:

http://allenbrowne.com/AppAudit.html

Now, one thing I know you are going to get kick back from your user on is
editing data directly in table view. THAT SHOULD NEVER HAPPEN!!!

You will need to find a way to convince them to use forms instead. Then,
you need to implement security and a stragegy so they can't cheat. If they
do, it defeats the purpose.
 
that will be later on. Right now it's just 3-4 supervisors editing a table
that has notes that help with the User's work. It's nothing that needs to be
secure at the moment. But thanks for the link.
 
OK, I was reading through that website and it said that the audit log only
works when the user is manipulating the data through the forms. My problem
with that is this. The table currently has two ways to open the same version
in datasheet view. If the user opens it, it's read-only and cannot be edited.
When the supervisors open the table, it's set to modify so they can edit the
fields. Right now there's a little over 16,000 entries in the table and there
is definately going to be more than double that in the future.

How or what is the easiest way to set that up for viewing in a form? I want
to user to be able to browse all the information and have the option of
either searching by the selected type or entering the information they need
to search for. I can see this not being a problem with only a couple hundred
entries, but how do I go about doing this with upwards of 50,000? I'm fairly
new to coding side of Access and I've had several programming classes in
college, but I've never run into this situation before.
 
Easiest way to make a form is autoform. In the database window, click the
Tables or Queries tab, select the table or query, then Insert > Autoform.
You could limit the records the form displays by setting up a parameter
query to specify a date range, department, or whatever. You can use the
combo box wizard to set up an unbound combo box for selecting a record based
on the combo box selection. You can filter records according to the
contents of any field by right clicking the field, then selcting one of the
filtering options. You can also sort records from the same right click
menu. Filtering and sorting can also be done by means of command buttons,
pop-up forms, and so forth. If you provide specifics it would be easier for
folks here to offer a focused suggestion.
 
How are the supervisors updating the tables? Are they going in and
simply double clicking a table and then adding information?

You can create a form that looks just like that but has the logic
behind it to create the timestamp log.

A form is a form is a form even when it looks like a
spreadsheet/datasheet. If they are editing the data through an item on
the "FORMS" object in access, then it is a form and can include the
logic refered to in the writeup.

If the form is opened in read only mode then the fields cannot be
changed therefor the afterupdate event never occurs therefore no
timestamp log.
 
I've been following this older thread because I've tried to do a similar
thing (add a timestamp to a form in Access), however, I used the Microsoft
help file on how to build and event procedure to accomplish it.

It doesn't work though.

I have not tried the instructions on the previously provided link here, but
I notice the comment about 'read only'.

Our database is set up so that all users utilize a form in one database
(like a shell) that is linked to another database (think of as a main
source), and they only have read-only accessibility, something I have fought
for. (They can enter data and edit, but no changing my forms or queries!)

To make sure I'm understanding correctly - this timestamp is never going to
work because the database is read-only? :(

thank you in advance.
 
nynavey said:
I've been following this older thread because I've tried to do a similar
thing (add a timestamp to a form in Access), however, I used the Microsoft
help file on how to build and event procedure to accomplish it.

It doesn't work though.

I have not tried the instructions on the previously provided link here,
but
I notice the comment about 'read only'.

Our database is set up so that all users utilize a form in one database
(like a shell) that is linked to another database (think of as a main
source), and they only have read-only accessibility, something I have
fought
for. (They can enter data and edit, but no changing my forms or queries!)

To make sure I'm understanding correctly - this timestamp is never going
to
work because the database is read-only? :(

thank you in advance.

If your users can edit data then by definition your app is not read-only, so
a properly designed time-stamp function would work.

Regards,
Keith.
www.keithwilby.com
 
Thanks, and yes, my users can edit records with the database, but they cannot
edit forms, tables, etc. When any of them open up the form from their
workstations, they get a message that says 'this database is read-only'.

I agree with what you're saying - editable data should show a timestamp. But
so far, no debugging errors (following Microsoft's how-to on timestamps), and
it populates zero in the field it should populate.
 
nynavey said:
Thanks, and yes, my users can edit records with the database, but they
cannot
edit forms, tables, etc. When any of them open up the form from their
workstations, they get a message that says 'this database is read-only'.

This is your problem then. "If the whole database is read-only, how are
they editing data?" is the question you need to answer. It can't be
read-only design-only.

Regards,
Keith.
 
I understand I ran the risk of being mistaken for crazy when I posted the
previous into, but I'm serious....the database records are editable by anyone
in my department. They can delete every table in the database if they are so
inclined. They cannot edit any queries, reports, etc., however.

It is read-only design-only...if those are the terms you want to use.
The actual Microsoft msg that pops up when any user opens the database is:

"The database "X" is read only. You won't be able to save changes made to
data or object definitions in this database."

What the users see is a 'fake' of sorts, a database copy where every query
and table is linked to another database stored somewhere else. Perhaps this
would make a difference in the timestamp not working?

For reasons outside my control, it was decided by the powers that be that
the 'real' database remain untouched by users, and someone created a
duplicate that users know about. Users are still able to get at the 'real'
records, but we don't have admin lockout issues like we used to, where one
person would leave the system open while out to lunch, etc. and ruin it for
everyone else.

I know this it's-read-only-but-not-really thing goes against computing, but
that is what I'm dealing with.

I have answered the question (unrelated to timestamping as it is)...

Anyone have any suggestions?


:

"If the whole database is read-only, how are
 
nynavey said:
What the users see is a 'fake' of sorts, a database copy where every query
and table is linked to another database stored somewhere else. Perhaps
this
would make a difference in the timestamp not working?

By the sounds of it it's a "front end" - a user interface with everything
you need except tables, which are linked. If you don't have admin rights to
it then you won't be able to code in it.

Keith.
 
It is a front end for everyone else. I have admin rights, can and have added
code. But nothing happens. No debugging issues going on, it's just that no
timestamp or datestamp is ever recorded.
 
Back
Top