Tip

Replace Notesitem Value Array

This is agent that I used to replace a notesitem
from one replica to another after I accidently wiped out all the values, so I
turned off replication and used the agent below to restore my values. Slight
modifications to this will allow you do this without using replicas but by
using copies instead.
Sub Initialize
Dim DocID As String
Dim Doc As NotesDocument
Dim ADoc As NotesDocument
Dim LastDocID As String
Dim Session As New NotesSession
Dim GetInfoView As NotesView
Dim NDB2 As NotesDatabase
Dim ADB1 As NotesDatabase
Dim TempCompanyProducts() As String
Dim X As Integer
Dim Y As Integer
Dim HowBigArray As Variant
Dim AppProductsItem As NotesItem
Dim ProductsItem As NotesItem

Set NDB2 = session.CurrentDatabase
Set ADB1 = New NotesDatabase("A/Company", "Sample\testcode.nsf")
Set GetInfoView = NDB2.GetView("CDView")
Set Doc = GetInfoView.GetLastDocument
LastDocID = Doc.UniversalID
DocID = "FirstInLine"

X = 0
While DocID <> LastDocID
X = X + 1
Set Doc = GetInfoView.GetNthDocument(X)
DocID = Doc.UniversalID
Set ADoc = ADB1.GetDocumentByUNID(DocID)
Y = -1
HowBigArray = Doc.GetItemValue("CompanyProspectProducts")
Forall Items In HowBigArray
Y = Y + 1
End Forall
Redim TempCompanyProspectProducts(Y)
Y = -1
Forall Items In HowBigArray
Y = Y + 1
TempCompanyProducts(Y) = Doc.GetItemValue("CompanyProducts")(Y)
End Forall
Set AppProductsItem = AppDoc.ReplaceItemValue("CompanyProducts",
TempCompanyProducts)
Call AppDoc.Save(True, False)
Wend
End Sub

This was first published in November 2000

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.