【问题标题】:If else not read properly after changes made to any document如果在对任何文档进行更改后无法正确读取
【发布时间】:2019-06-14 07:52:28
【问题描述】:

我在表单中有一个按钮,我使用 If else 检查是否在视图中的文档列表中,“如果”任何状态为“锁定”的文档,我将提示消息框“首先完成 PC 检查!”。所以

首先,单击按钮后,代码运行,一切正常。然后我尝试再次单击该按钮而不进行任何更改,它将提示消息框。

但是当我在任何文档中进行更改并将状态更改为“活动”等其他文档时,我返回表单并单击按钮,它不会提示消息,但它会跳过第一个 If 并继续别的。

下面是我的代码:

If doc.PStatus(0) = "Lock" Then
    Msgbox "Complete PC Inspection first!"
    Exit Sub
Else
    answer% = Messagebox("Do you confirm with this infomation?", 4,"Batch Number")
    Some code...
    ...
End If

我想要做的是,如果视图中的任何文档中仍然存在“锁定”状态,则该按钮将不会进入“其他”状态。当视图中没有“锁定”状态时,它将继续“其他”。任何帮助将不胜感激。谢谢!

【问题讨论】:

  • Notes 内置了一个调试器。工具 -> 调试 LotusScript。在打开数据库并逐步执行代码之前激活它。然后你可能应该知道为什么你的对象被刷新了。
  • 什么是文档?您在哪里访问视图?您的代码不完整。
  • 您需要重新编写问题。 MsgBox和Messagebox是同一个功能,不知道你说的“会提示messagebox”和“它不提示messagebox”是什么意思。它在提示哪个messagebox?不提示哪个?而且你需要展示你所有的代码。你至少需要展示整个循环。我希望在某个地方一定有一个循环。

标签: lotus-notes lotusscript


【解决方案1】:

最好使用包含所有锁定文档的视图,按 PC 键左右排序。或者使用按键和状态排序的视图,这样您就可以挑选出特定 PC 的所有锁定文档。如果没有,GetDocumentByKey 将返回 Nothing。

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    相关资源
    最近更新 更多