Movenext上的快照记录集更新

时间:2013-08-12 02:47:53

标签: compare updates recordset snapshot

我有一个主窗体(DeliveryDockets)和子窗体(DeliveryDocketLines)。在主要表单OnLoad事件中,我正在设置快照记录集。

Set oldRS = CurrentDb.OpenRecordset("SELECT * FROM DeliveryDocketLines WHERE (DelDocketID = " & Me.DelDocketID & ");", dbOpenSnapshot, dbReadOnly)

然后在用户更改了子窗体数据之后,我想检查一下是做了哪些更改,所以在Save按钮的OnClick事件中我有以下内容

Set newRS = CurrentDb.OpenRecordset("SELECT * FROM DeliveryDocketLines WHERE (DelDocketID = " & Me.DelDocketID & ");", dbOpenDynaset)
oldRS.MoveFirst
Do While Not oldRS.EOF
    newRS.FindFirst ("[ID] = " & oldRS![ID])
    If newRS![DeliveryQTY] <> oldRS![DeliveryQTY] Then
        'record has changed
    End If
    oldRS.MoveNext
Loop

这适用于oldRS中的第一条记录,但只要您移过第一条记录,旧RSS就会更新为新的RSS值。

这是否与从SELECT语句设置记录集有关?

我认为快照应该不允许这样做。

任何建议表示赞赏。

0 个答案:

没有答案