ACCESS DB "Write Conflict" message upon user attempting a record data-field correction

Upon attempting to correct a data field or add more recent info to an already created record, the user is blocked from saving the updated record, receiving the message:

"Write Conflict".   "...record has been changed by another user since you started editing it...."
Occurs when no other user is in fact using the DB.
willjxAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Jeffrey CoachmanMIS LiasonCommented:
This can happen if another form is open that is associated with the same record.
It may also be an issue of some code running that also accesses this record.

Without more info it is difficult to say...

So lets see what other experts post...

;-)

Jeff
0
BitsqueezerCommented:
Hi,

beside what Jeff said above this can also happen if you use a linked table to a database server. DAO must map all the datatypes of the foreign database to a datatype which exists in JET/ACE, so there is sometimes a difference in the converted data.
Access tests if the record has changed by someone else since the current user start changing it and the default way of doing that is by comparing each field value of each used field with the edited field values of the current user. Because of conversion errors a field with exactly the same value (or it seems to be the same for the user) will be found as a field with a "changed value" and so the write error appears.

In case of SQL Server as backend there is a simple solution: Add one field with the datatype "timestamp" (which in fact has nothing to do with date or time, it is a row version which is also the new name for this datatype: It writes a serial number for each row as binary data, in other words: A kind of autonumber, but one for each row).
If Access finds such datatype it doesn't use the field-by-field comparison anymore, only the timestamp field will be used to find out if the row was updated so the write error disappears. You must add a timestamp column for each and every table which is used in a form to avoid this error.
Other database servers have similar functions, but here you must look into the documentation.

Cheers,

Christian
1

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
willjxAuthor Commented:
Christian,
You are making me look absolutely brilliant!
Yes,  my ACCESS data is linked to SQL, and the "Timestamp" idea worked great.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Applications

From novice to tech pro — start learning today.