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