The new field will be created with the same number of elements as another field on the same Lotus Notes document. I used this mainly for the purpose of adding an additional field for document revision histories.
Sub Initialize Dim s As New NotesSession Dim db As NotesDatabase Dim collection As NotesDocumentCollection Dim doc As NotesDocument Dim edits As Variant, newField() As String Dim n As Integer, docCount As Integer Set db = s.CurrentDatabase Set collection = db.unprocessedDocuments Set doc = collection.GetFirstDocument While Not doc Is Nothing Redim newField(0) docCount = docCount + 1 If doc.HasItem("OtherField") Then If doc.OtherField(0) <> "" Then edits = doc.GetItemValue("OtherField") For n = 0 To Ubound(edits) Redim Preserve newField(n) newField(n) = "Initial value" Next End If End If doc.NewField = newField doc.Save True, False Set doc = collection.GetNextDocument(doc) Wend Print "Processed " & docCount & " documents" End Sub
Do you have comments on this tip? Let us know.
This tip was submitted to the SearchDomino.com tip library by member Andrew Broxholme. Please let others know how useful it is via the rating scale below. Do you have a useful Lotus Notes, Domino, Workplace or WebSphere tip or code snippet to share? Submit it to our monthly tip contest and you could win a prize.
This was first published in March 2008