On 6 Jan 2004 01:52:51 -0800,
te********@hotmail.com (Edward) wrote:
"Danny J. Lesandrini" <dl*********@hotmail.com> wrote in message news:<bt************@ID-82595.news.uni-berlin.de>... I'll bet your table has at least one memo field.
Add a timestamp field to the table in SQL Server, and everything
will be fine. The problem is that, because of the memo field, the
client can't determine with certainty that the record hasn't been
changed by someone else. Just add the timestamp and see what
happens.
--
Danny J. Lesandrini
In my experience this isn't caused by a Memo field, but by a date
field. When Access retrieves the date from SQL Server, it does some
rounding or truncating, and so when the time comes to update the
record, and the two records are compared, the date fields don't match,
and so Access thinks that someone has been and gone and changed the
record. Danny is right about the timestamp field - this should sort
the problem.
Edward
That's basically right. Memo fields are ignored by Access optimistic locking
leading to false negatives, and date and floating point number fields are
subject to rounding error leading to false positives. In my experience, date
fields actually aren't the most common cause, floating point numbers are.
If you add a TIMESTAMP column, that solves both types of problem. Since JET
knows it can use the TIMESTAMP as a simple and incontrovertible check to see
if data has been changed, it uses that and does not check the other field
values.