【发布时间】:2016-06-09 18:03:34
【问题描述】:
我有一个 MS Access 2010 应用程序。当我转到一个表单并将数据输入到备忘录字段中时,我会在单击按钮时在 VBA 中运行以下查询。当前记录是唯一正在编辑的记录,并且数据库中没有其他用户。
但是,我收到由于记录锁定冲突而无法更新记录的错误。 我有时也会收到数据已更改的错误,我应该重新编辑记录。以下是我收到的每个错误的文本。
由于类型转换失败,表单 DV 没有更新 0 个字段,由于键违规导致 0 条记录,由于锁违规导致 1 条记录...
数据已更改。 在您尝试保存更改之前,另一个用户编辑了此记录并保存了更改。 重新编辑记录。
有谁知道我该如何解决这个问题或为什么会这样?
Private Sub Save_Status_Complete_Button_Click()
Str_SQL_Update = "UPDATE [dbo_Tape_Capture_Local_tbl] SET header_general_comments_status = 1 WHERE [Loan Identifier] = '" & Me.Loan_ID_Combo & "';"
DoCmd.RunSQL Str_SQL_Update
End Sub
【问题讨论】:
-
您的表单/备忘录字段是否绑定到表格?
-
嗨克里斯托弗,是的。备注字段绑定到表格。
-
抱歉,澄清一下:它是否绑定到您正在执行 UPDATE 的表?如果是这样,那就是写冲突的来源。在绑定控件中,您正在直接更改绑定表中的记录,甚至在您单击按钮之前。所以当按钮被点击时,表格已经被锁定,因为你已经在编辑它了。
-
在执行
UPDATE之前保存表单的当前记录。 -
@HansUp 似乎如果它是一个绑定控件,那么这两件事是一样的,对吧?如果记录被保存,那么运行
update也没有任何意义。