我正在维护一个链接到MSSQL2000数据库的多用户Access 2000数据库,而不是我自己编写的。
数据库设计非常糟糕,所以您必须忍受我。
在“客户”表单上,有一个“客户ID”字段,默认情况下需要获取下一个可用的客户ID,但是用户可以选择用现有的客户ID覆盖此选项。
现在,Customer_ID字段不是Customer表的PK。它也不是唯一的。
如果客户两次致电提交工作,则该表将获得两个记录,每个记录具有相同的客户信息和相同的客户ID。
如果用户创建了新票证,Access会快速查找下一个可用的客户ID并将其填写。但是它不会保存记录。显然是一个问题- 两个用户的编辑必须跟踪彼此的工作,以免重复输入客户ID。
因此,我想修改“新记录”按钮,以便在创建新票证后立即保存该票证。
问题是,当我测试更改时,我得到“此记录已被其他用户更改,因为您开始对其进行编辑。”
绝对没有其他用户在数据库上。“其他用户”大概是我的强制保存。
有任何想法吗?
看一下您在SQL Server 2000中的链接表。它是否具有包含bit数据类型的字段?如果您有一个 没有默认值 的位字段 , Access将在链接表方案中给您此错误消息。
可能不是您的问题所在,但是我在Access 2007数据库中遇到了同样的问题,并将问题跟踪到没有默认值的位字段中。