Lotus notes 如何在LotusScript的OnChange函数中获取旧值?
我有一个名为StartDate的字段,该字段的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
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。按照这些步骤,我能够获得我想要的行为。