Let me tell you a few things:
1. I had this exact requirement on my database. Each edit adds a new line to the table. I believe this sort of auditing can be handled using a module (any help here?), but I did not look into the subject. What I did is this:
-Went from bound to unbound form. It was not fun setting it up, but I saved a lot of debugging time by doing so.
-Every time a user clicked "Save", I checked the current table data vs form data and added a new record if the form data differed.
-I had a query which pulled the "most recent info" so that I would not have to worry about linking the tables correctly every time; instead I can refer to the query. I used a foreign key in the main table to hold the most recent info--in this way the query is still editable, but it also means that I have to keep track of what is the "most recent info".
If you stick to bound forms, you're going to have to deal with:
-If a user hits "Shift-Enter" or mouse-wheels across a record, you're going to have to intercept these "saves" or "accidental saves" and cancel them.
-If a user breaks validation rules while attempting to save a record, good luck
Anyway, I spent a great deal of time working on this. Good luck.
Aside: does anyone have a good alternate solution to this person's problem, i.e. stored audits module or somesuch?
--
Find common answers using Google Groups:
Corrupt MDBs FAQ