Database Corruption or User Deletion?

J

JG

Is there a way to tell whether a database is corrupted or if a user is
deleting records?

I have a database for logging purposes. Records that were previously in the
database are now missing. But I can't figure out whether they "disappeared"
or if someone unintentionally deleted them.

Is there a way to find out?
 
T

Tony Toews [MVP]

JG said:
Is there a way to tell whether a database is corrupted or if a user is
deleting records?

I have a database for logging purposes. Records that were previously in the
database are now missing. But I can't figure out whether they "disappeared"
or if someone unintentionally deleted them.

Corruption seldom deletes records. Unless the compact & repair
noticed the corrupt records but it usually creates a table mentioning
such. I don't recall the table name right now but it's pretty
obvious.

Corruption will cause strange characters and #error in fields or crash
Access as you page down the table.

Missing records? I'd be real suspicious about that. But then my
favourite self description is paranoid pessimist.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
J

JG

After some searching and comparing record numbers, I've found that someone
was overwriting existing records.

Is there a way to create a log of all changes? In this instance I know it
wasn't malicious. Unfortunately the user that did this is also the main
person who does the data entry. I just need to make sure nothing like this
happens again.
 
L

Larry Linson

There is no automatic logging that you can turn on.

If the user enters through a form, you should be able to check and, likely,
avoid the problem. At least, you could log the changes to a different
table... it might be easier to simply copy the record before changes to the
different table, then copy it after changes.

If you have a user working directly on a table or query datasheet, you
should re-think the design of your application.

Larry Linson
Microsoft Office Access MVP
 
D

Daniel Pineault

You can track changes, but tracking all the changes that occur...well I think
it is ludacrous. A better approach is to setup proper user-level security
and make regular backups for exactly this type of event. In my experience,
even with evidence of wrong doing by a user, pointing the finger does not
help in any way! Most bosses do have the time, the knowledge and plain don't
care.. fix the problem and move on. As such, limit the user who can actually
perform deletions, ensure confirmations are required. After that, it is
their problem. You can only do so much at one point.

Anyways, take a look at http://allenbrowne.com/AppAudit.html and then adpat
it to your needs.
--
Hope this helps,

Daniel Pineault
http://www.cardaconsultants.com/
For Access Tips and Examples: http://www.devhut.net
Please rate this post using the vote buttons if it was helpful.
 
J

JG

1. Yes, it is ludicrous, but when you have employees who make mistakes like
changing existing data, what else can be done? (Firing the employee is not an
option.)
2. User-level security is already set. There are only two people who have
write access to this database: the employee who messed up and myself. This
employee (and every previous person in her position) has a habit of entering
incorrect data into the database. When pointed out, she has to go back and
update the data. Thus she needs to be able to insert and modify data. This
was an issue of the wrong data being changed, not data being deleted.
3. I'm the mid-level boss. I will make time to understand, just as I have
every other time changes were needed.
4. I will look at the link you sent me. Thank you for the information.
 
J

Jeff Boyce

Is there any chance that the user interface could be altered to make it less
likely (i.e., more difficult) for the user to make mistakes?

For example, many user interface designs include the use of a textbox into
which the user must enter an item number ... when a combobox listing items
would prevent the entry of an invalid item number!

Regards

Jeff Boyce
Microsoft Office/Access MVP
 
J

John W. Vinson

1. Yes, it is ludicrous, but when you have employees who make mistakes like
changing existing data, what else can be done? (Firing the employee is not an
option.)
2. User-level security is already set. There are only two people who have
write access to this database: the employee who messed up and myself. This
employee (and every previous person in her position) has a habit of entering
incorrect data into the database. When pointed out, she has to go back and
update the data. Thus she needs to be able to insert and modify data. This
was an issue of the wrong data being changed, not data being deleted.
3. I'm the mid-level boss. I will make time to understand, just as I have
every other time changes were needed.
4. I will look at the link you sent me. Thank you for the information.

If this user is primarily entering new data, not editing existing data, you
might want to consider having the Form's DataEntry property set to Yes; or,
less intrusively, set its Allow Additions property to Yes but Alllow Edits to
No. You could put a command button on the form to set Allow Edits back to yes
(and perhaps change the background color to red to yell HEY YOU'RE CHANGING
DATA!) so the user will need to make an intentional effort to overwrite
existing records.
 
T

Tony Toews [MVP]

JG said:
Is there a way to create a log of all changes? In this instance I know it
wasn't malicious. Unfortunately the user that did this is also the main
person who does the data entry. I just need to make sure nothing like this
happens again.

Or hows about locking the fields on a form when they open the form
other than for adding a new record.

Locking fields on a form in Microsoft Access
http://www.granite.ab.ca/access/locking_fields_on_a_form.htm

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
J

JG

Unfortunately, because the user often enters records incorrectly the first
time, they have to go back and "correct" their original entry. Thus, they
have to be able to edit existing data.

I will try the audit suggestion from Daniel.

And yes, the user is entering data from a form. Background info is all
hidden.
 
T

Tony Toews [MVP]

JG said:
Unfortunately, because the user often enters records incorrectly the first
time, they have to go back and "correct" their original entry. Thus, they
have to be able to edit existing data.

Absolutely. The link to my website though shows you a means of
forcing the user to click another button before they are allowed to do
any updates. In particular they can't accidentally enter something in
a field and forget what was in there before. Especially if they look
at the keyboard when they type.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top