Lotus Software logo
IBM Lotus Domino Designer 8.5
  Versions 8.5 and 8.5.1






Examples: Remove method

This agent builds a note collection of documents from the current database. It removes any document with a subject containing the text "test" then exports the revised collection as DXL to the file filename. A string representing the note ID is used as the method parameter.

Sub Initialize

Dim session As New NotesSession
Dim db As NotesDatabase
Dim stream As NotesStream
Dim exporter As NotesDXLExporter
Dim nc As NotesNoteCollection
Dim nid As String, nextid As String 'note IDs
Dim i As Integer
Dim doc As NotesDocument
Dim subj As Variant
Dim filename As String 'output file

REM Create note collection
Set db = session.CurrentDatabase
path$ = "c:\dxl\"
filename$ = Left(db.FileName, Len(db.FileName) - 3) & "dxl"
filename$ = path$ & filename$
Set nc = db.CreateNoteCollection(False)
nc.SelectDocuments = True
Call nc.BuildCollection

REM Modify the collection - take out test documents
nid = nc.GetFirstNoteId
For i = 1 To nc.Count
'get the next note ID before removing any notes
nextid = nc.GetNextNoteId(nid)
Set doc = db.GetDocumentByID(nid)
subj = doc.GetItemValue("Subject")
If Not findTest(subj(0))(0) = 0 Then
Messagebox subj(0), , "removing document"
Call nc.Remove(nid)
End If
nid = nextid
Next

REM Export note collection as DXL
Set stream = session.CreateStream
If Not stream.Open(filename) Then
Messagebox "Cannot open " & filename,, "Error"
Exit Sub
End If
Call stream.Truncate
Set exporter = session.CreateDXLExporter(nc, stream)
Call exporter.Process
Messagebox filename, , "updated collection written to"

End Sub

Function findTest(value As String)
findTest = Evaluate( "@Contains (""" _
+ Ucase$(value) _
+ """; """ _
+ "TEST"+""") ")
End Function
Related topics
Remove method
Count property
GetFirstNoteID method
GetNextNoteID method




Library | Support | Terms of use |

Last updated: Monday, October 5, 2009