从 Access 更新 SQL 中的多条记录,没有错误 "The data has been changed"
Update multiple records in SQL from Access without error "The data has been changed"
我正在使用 Access 2013 前端和 SQL Server 2008R2 后端之间的 ODBC 连接。我有“数据表”和“连续”表格,它们显示多条记录,这些记录在“订单”字段(整数)上排序。
这些表单的记录源是一个查询(现在是一个 Access 本地查询,但我不认为将其切换到 SQL 服务器视图可以解决我的问题)。用户使用这些表格 set/update 为了报告目的记录他们的顺序。
我的问题:表单是可更新的,但一直抛出错误
The data has been changed. Re-edit the record.
我知道这个错误可以通过将相应的表单设置为在每次更新后重新查询来解决,但这同样让用户感到沮丧,因为他们的记录在他们试图设置时不断地重新排序顺序(以及每次输入后的形式 "blips")。
(我的所有 table 中都有字段 "Timestamp"。我知道如果链接到的 SQL BE 数据库中没有此字段,则会引发类似的错误一个 Access FE。)
允许用户更新所有记录的顺序而无需借助表单的最佳方法是什么? (我想在“order”字段的查询中保留“sort”,这样当他们下次打开表单时,它会按照他们指定的顺序显示记录。)我读过关于在存储过程中使用未绑定表单更新 SQL 数据,但这似乎对一次一条记录有用。我可以使用本地临时 table,然后使用存储过程进行批量更新吗?如果那是最佳答案,我还要求提供一些示例代码,让我朝着正确的方向前进。 :)
一个简单的答案!将 Me.Refresh
添加到窗体或子窗体上的 AfterUpdate 事件。然后,当用户确实想要根据他们的新订单更新表单时,他们可以单击 "refresh" 按钮,该按钮分别设置为 Me.Requery
或 Me.Parent.Requery
,具体取决于表单或子表单。
我正在使用 Access 2013 前端和 SQL Server 2008R2 后端之间的 ODBC 连接。我有“数据表”和“连续”表格,它们显示多条记录,这些记录在“订单”字段(整数)上排序。
这些表单的记录源是一个查询(现在是一个 Access 本地查询,但我不认为将其切换到 SQL 服务器视图可以解决我的问题)。用户使用这些表格 set/update 为了报告目的记录他们的顺序。
我的问题:表单是可更新的,但一直抛出错误
The data has been changed. Re-edit the record.
我知道这个错误可以通过将相应的表单设置为在每次更新后重新查询来解决,但这同样让用户感到沮丧,因为他们的记录在他们试图设置时不断地重新排序顺序(以及每次输入后的形式 "blips")。
(我的所有 table 中都有字段 "Timestamp"。我知道如果链接到的 SQL BE 数据库中没有此字段,则会引发类似的错误一个 Access FE。)
允许用户更新所有记录的顺序而无需借助表单的最佳方法是什么? (我想在“order”字段的查询中保留“sort”,这样当他们下次打开表单时,它会按照他们指定的顺序显示记录。)我读过关于在存储过程中使用未绑定表单更新 SQL 数据,但这似乎对一次一条记录有用。我可以使用本地临时 table,然后使用存储过程进行批量更新吗?如果那是最佳答案,我还要求提供一些示例代码,让我朝着正确的方向前进。 :)
一个简单的答案!将 Me.Refresh
添加到窗体或子窗体上的 AfterUpdate 事件。然后,当用户确实想要根据他们的新订单更新表单时,他们可以单击 "refresh" 按钮,该按钮分别设置为 Me.Requery
或 Me.Parent.Requery
,具体取决于表单或子表单。