例: Intersect method (NotesDocumentCollection - LotusScript®)

この例では、1 年間に 2 つの異なる状態で働いたために特別な扱いを必要とするすべての従業員を探すために、従業員データベースを検査して複数の状態を持つ企業を探します。従業員のデータは画面に表示されます。

Sub Initialize
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Set db = session.CurrentDatabase
  Dim dc1 As NotesDocumentCollection
  Dim dc2 As NotesDocumentCollection
  Dim doc1 As NotesDocument
  Dim doc2 As NotesDocument
  Dim message As String
  Dim state1 As String, state2 As String
  Dim searchformula1 As String, searchformula2 As String
  
  state1 = Inputbox$("First state?")
  state2 = Inputbox$("Second state?")
  searchFormula1 = {Form = "Employee" & WorkLoc = "} & state1 & {"}
  searchFormula2 = {Form = "Employee" & WorkLoc = "} & state2 & {"}
  
  ' Note: NOT the most efficient way to do this task, 
  ' but it's just an example.
  Set dc1 = db.Search(searchFormula1,Nothing, 0)
  Set dc2 = db.Search(searchFormula2,Nothing, 0)
  Call dc1.Intersect(dc2)
  If dc1.count = 0 Then 
    message = "No employee documents found for both " & state1 _
    & " and " & state2
    Messagebox message, MB_OK, "No documents"
  Else  
    Set doc1 = dc1.getFirstDocument
    message = ""
    While Not doc1 Is Nothing
      message = message & {
} & doc1.GetItemValue( "Name" )(0)
      Set doc1 = dc1.getNextDocument(doc1)
    Wend
    Messagebox Mid$(message, 2), MB_OK, "Employees in " & state1$ & " and " & state2$
  End If
End Sub