Вычитаемая коллекция должна находиться в вычитаемой коллекции.
Попробуйте:
Sub sendNotificationAppOwnerMerged(coll As NotesDocumentCollection)
On Error GoTo errorhandler
Dim sess As NotesSession
Dim db As NotesDatabase
Dim dc1 As NotesDocumentCollection
Dim dc2 As NotesDocumentCollection
Dim doc As NotesDocument
Dim query As String
If coll.Count = 0 Then Exit Sub
Set dc1= coll.Clone()
Set doc = dc1.GetFirstDocument
While Not doc Is Nothing
query = | Field SATTEAMNAME = "| & doc.SATTeamName(0) & |"|
Set dc2= dc1.Clone()
Call dc2.Ftsearch(query, 0)
MsgBox dc2.count
MsgBox dc1.count
' send email to all apps in dc1
MsgBox "Mail Sent to " + doc.SATTeam(0)
Call dc1.Subtract(dc2)
If dc1.count = 0 Then Exit Sub
Set doc = dc1.GetFirstDocument
Wend
Exit Sub
End Sub
Хотя существует вероятность бесконечного l oop, если первое сделать c в dc1 никогда не вычитается из коллекции dc1. Вероятно, есть лучший способ сделать это. Ошибка возникает с первой попытки или после? Непрерывное вычитание из dc1 с последующим повторным клонированием dc2 также может вызывать ошибки.