【发布时间】:2015-12-08 12:45:37
【问题描述】:
我们的一个表单不断地偶尔生成此错误消息。该问题出现在我们的订单表单上,该表单绑定到一个链接的 SQL Server 2008 表。打印通知单(使用报告)后,订单状态设置为“已打印订单”。此时,我偶尔会看到“-2147352567 数据已更改”错误。我会说 95% 的情况下,这不会发生,但正是另外 5% 的情况让我们头疼(以及无数的支持电话)。
奇怪的是,关闭表单并尝试对订单执行相同操作会导致相同的错误消息,但关闭数据库并再次尝试可以正常工作。
就好像表单绑定的表/记录有一些未提交的更改,即使没有打开任何表单、报告等也存在。
代码如下所示:
Select Case Me.txtCurrentStatus
Case NEW_ORDER, UNPRINTED_ORDER:
Me.txtCurrentStatus = PRINTED_ORDER
End Select
'Commit changes
If Me.Dirty = True Then Me.Dirty = False
【问题讨论】:
-
在打印前保存,至少看看是否有影响?什么是后端? Jet/ACE 还是 SQL Server?你的桌子有PK吗?
-
嗨 iDevelop。后端是 Microsoft SQL Server 2008 SP3,我们使用 SQL Server Native Client 11.0 进行连接。是的,该表有一个主键。该问题仅每 20 个订单发生一次...我无法辨别任何特定模式或问题发生的原因。似乎完全随机。
-
您与之交互的桌子上有触发器吗?
-
您的表格是否包含时间戳字段?如果没有,添加它(并重新链接表)
-
Brad - 是的,桌子上有一个删除触发器......但我没有删除任何东西。