Lotus notes 如何在LotusScript的OnChange函数中获取旧值?

Lotus notes 如何在LotusScript的OnChange函数中获取旧值?,lotus-notes,lotusscript,Lotus Notes,Lotusscript,我有一个名为StartDate的字段,该字段的OnChange函数有一个类似以下内容的循环: Set doc = view.GetFirstDocument While Not (doc Is Nothing) If (doc.Username = somevalue) Then If (doc.StartDate(0) = specialdate) Then ' Do something here End if End i

我有一个名为StartDate的字段,该字段的OnChange函数有一个类似以下内容的循环:

Set doc = view.GetFirstDocument
While Not (doc Is Nothing)
    If (doc.Username = somevalue) Then
        If (doc.StartDate(0) = specialdate) Then
            ' Do something here
        End if
    End if
    Set doc = view.GetNextDocument(doc)
Wend

我的问题是doc.StartDate持有字段的新值,但我想要旧值。如何获取字段的上一个值?基本上,我需要比较字段的旧值和新值。

在表单的
(全局)
/
(声明)
中定义一个全局变量,如“StartDateOld”

PostOpen
事件中将字段“StartDate”的值分配给此变量

然后,您可以在
OnChange
事件中使用变量“StartDateOld”中的旧值

不要忘记在事件代码的
OnChange
末尾将更改后的值设置为“StartDateOld”


这适用于处于编辑模式的文档。我真的不明白通过视图运行代码想要实现什么…

如果通过循环
view
来设置
doc
变量,那么
doc.StartDate
不会保存字段的新值,因为
doc
变量中的
NotesDocument
当前已编辑
NotesDocument
不一样。这看起来很奇怪。LotusScript中的OnChange(?)事件在视图中处理文档。您的意思是,当StartDate字段更改时,您希望对所有具有相同“旧”StartDate的文档执行某些操作(因此代码中的“specialdate”是当前文档StartDate的旧值?我认为您需要向我们显示实际的代码,而不是一些“类似的”代码)代码。显然缺少一些内容。我同意规范,在OnChange事件中遍历所有文档似乎非常奇怪。谢谢Knut。按照这些步骤,我能够获得我想要的行为。