Examples: Intersect method (NotesDocumentCollection - LotusScript®)
This example tests a payroll database for a multi-state company to locate all the employees who need special handling because they worked in two different states during the year. The employee data is then written to the screen.
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