2012-10-25 59 views
2

我通过MS Access Linked Tables将表链接到SQL 2008R2数据库。MS-Access链接表的并发错误

我得到这样的警告时,我想改变在底层的SQL表中有一个以上的位字段的访问链接表中的数据:

的记录已被其他用户从此被改变你开始编辑 吧。如果保存记录,则将覆盖更改 用户制造

当表中只有一个位字段时,我没有任何问题。这真是一个奇怪的错误恕我直言。有没有其他人遇到过这种情况,并找到了解决办法吗?

+2

您使用MS Access 2010吗? –

回答

1

我在使用SQL来处理链接表时遇到过这样的问题。我不确定为什么你特别在位域看到这个问题。尝试添加一个带时间戳的数据类型(rowversion)的'ts'列到表中,并在Access中重新链接它。

0

我知道这是一个古老的问题,但也许我的答案会受益于其他人,因为我在相同和其他类似问题上挣扎。

我有类似的错误,大多能够解决它。有一点可以帮助,就是在数据库上使用SQL Profiler,并在尝试添加新行时观察由Access所做的SQL命令。

几项检查.. 1)确认你在设置主键和自动编号 2表的ID列)如果这涉及另一个表之间的主/子关系,在Access数据库工具“关系”,指定关系和这些类型之间的连接类型。 3)如果表之间有联接,那么请在查询中公开主要列和外部列。

使用SQL事件探查器,我会看到它会尝试找到要更新的行,并根据主键以外的其他列进行更新。例如

更新表 集... 其中id = 5,数据1 = someValue中和数据2 == othervalue

做这件事时,我有时会得到同样的错误,因为我可以在新的编辑过的其他值行,因此复合where子句将失败。你想要的是更新完全依赖于主键。