Subject: There’s nothing out of the box, but it could be programmed.
Notes does not track changes at a field level, so if you really need this, you’ll have to code the function.
There’s three basic ways to go about this.
1 - Store duplicate values - simple Formula, good for one or two fields.
Have three fields on your form. The real field, a hidden “copy of” field, and your history field.
In the Validate code of the real field, compare it’s value to the copy. If it’s different, set the copy to the value of the real field, and set the History field to display the user name and date/time.
2 - Store original values - simple LotusScript, good for multiple fields.
When you open a document in Edit mode, take copies of the fields you want to track. That means you’ll need a sub in the Global’s section to create the copies, and call this sub from PostOpen (checking if the edit mode is true) and from the PostModeChange (checking if the edit mode is true).
Then, in the QuerySave event, you can compare the current and original values, and take appropriate action if they’ve changed. That could be to update a field in the form that tracks history, or possible create a history document to record the changes. (You can have an embedded view in the main document to show the history documents.)
3 - Compare to the original document - more complex LotusScript, use if you want to track everything.
This method would be used if you want to track changes to all fields, and has the advantage that you don’t need to update the code as fields are added or removed from the form. It also does not need to create “original copy” fields.
In QuerySave, use the document’s UNID to get a second copy of the document. Then iterate through both document’s items, comparing one to the other. (You’ll probably want to skip the Rich Text Fields, especially if you get multiple instances of the same item.)