1
有人可以解釋爲什麼此代碼不起作用。我在作者字段中沒有任何值,也沒有打印任何內容。訪問ACL條目
Sub Querysave(Source As Notesuidocument, Continue As Variant)
' Add users with role R* to Authors
Dim s As New NotesSession
Dim e As NotesACLEntry
Dim it As NotesItem
Set it = Source.Document.GetFirstItem("Authors")
Set e = s.CurrentDatabase.ACL.GetFirstEntry
While Not e Is Nothing
Print e.Name
If e.IsRoleEnabled("R1") Then it.AppendToTextList(e.Name)
If e.IsRoleEnabled("R2") Then it.AppendToTextList(e.Name)
Set e = s.CurrentDatabase.ACL.GetNextEntry(e)
Wend
End Sub
該數據庫位於服務器上,並在ACL中有條目。
你應該更新你的問題,而不是把它放在一個答案 –
是的,這是一個問題,當你「鏈」方法依賴於狀態信息時發生。我知道我已經看到了所描述的問題 - 可能是Bob Balaban在他編寫Domino with Java的舊書或演示文稿中提到的問題。不知道它是否在正式文件中。第一種編寫它的方式是,用於獲取第一個條目的ACL對象與用於獲取下一個條目的ACL對象不同,因此狀態將丟失。通常對於Notes對象類,您始終需要將父對象保持在範圍內,直到完成子對象。 –
@肯,對,但現在爲時已晚,無法刪除您的評論。 – PeterMmm