In fact the proposal of Killer is very good...
If i can suggest you, it should be better to have a different structure from the main table, only those fields:
LogID
Table
ChangedFieldName
New introducedValue /Or OldIntroducedValue/
DateStamp
User
And insert in this table all changes in the fields...
And this shouldn't get a lot of place than needed
But my previous question about your need is always here. If in this table you want to keep the chronologie of your reports, so the method of Mary is convenient...
If you want to track the changes in your primary documents introduced in the respective table, so this method suits more...
It's you to decide!
Quote:
Originally Posted by Killer42
One method used in an Access project I worked on years ago was to have a "log" or "history" table corresponding to the main table. It had duplicates of all fields, plus some field (most likely an Autonumber) to keep them in sequence.
Every time a record is created or updated on the main table, you copy it to the history table (including any extra info you want, such as user, date/time etc.)
To keep the space requirements from blowing out too rapidly, we used a compression technique on the history table. For each main-table record, there was one full initial record in the history table. All subsequent entries for that record stored only the values which had changed from the prior entry.
This did have certain advantages in storage, of course (reduced the storage by a huge amount, actually) but made processing more complex. For one thing, to rebuild any history entry, you have to start with the initial entry from when that record was created, and run forward through its history to the point in question.
So, the whole compression thing may be more trouble than it's worth. But dumping a copy of your record to a history file every time it changes (including initial creation) does provide you just about the ultimate in accountability/reproducability.