<< Many of the items in our database use text (1-5 paragraphs) that are later used in larger, multi page text based reports. Multi users editing the same text field at the same time has happened several times for us with troubled outcomes. >>
It sounds like you have a design issue -- a single column in a relational database is not necessarily the best place to store text that will simultaneously be edited by other users. Is it possible to "decompose" the text into many separate database values, such that each value could be edited by a single user without conflict, and then "recompose" the text when you need to print it? If not, you'll probably have to develop your own concurrency system. You already have one that locks out all users from a record when it's being edited. You could elaborate this with a separate temporary table into with two columns that each get a copy of the original text when the user starts to edit. The user then edits one copy, the other stays the same. When the user wants to save the changes you compare the _unchanged_ copy in their temporary table to the _current_ data in the real table. If it's different, it was edited by another user. You can now display all three versions (original, other user's changes, and this user's changes) side by side for the user to either merge their changes in to the other user's changes, to overwrite the other user's changes, or to cancel their own changes in favor of the other user. -- Larry

