Link to home
Start Free TrialLog in
Avatar of btbsjtremper
btbsjtremper

asked on

merging lotus notes archives databases

I have two lotus notes 7.0 archive databases that I would like to merge together. Is this even possible
ASKER CERTIFIED SOLUTION
Avatar of mbonaci
mbonaci
Flag of Croatia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of btbsjtremper
btbsjtremper

ASKER

the design is the same, but there are a ton of folders in each archive that have been created. those won't be carried over correct?
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Have you succeeded in moving those documents?
Ask if you got stuck...
no luck so far
What happened?

Go step by step and ask specific questions.
i'm not paying for a service on that website, but i will give you points for the first answer
Thanks for the points.
You don't have to pay to use SearchDomino, just register.

Nevertheless, here's the code:
%REM
  Move folders from one Notes database to another using a LotusScript agent
 
  Marko Bonaci
  04.27.2006
 
  When you run the LotusScript code below, it will ask you which folders you want to move from a current Notes/Domino database 
  and to which database you want them moved.
%END REM
 
Sub Initialize
    Dim s As New NotesSession
    Dim w As New NotesUIWorkspace
    Dim dbSource As NotesDatabase, dbDest As NotesDatabase
    Dim source As NotesView, dest As NotesView
    Dim vc As NotesViewEntryCollection
    Dim docDest As NotesDocument
    Dim ve As NotesViewEntry
    Dim folders() As String
    Dim i As Integer
    Dim ret, rez
    
    Set dbSource = s.CurrentDatabase
    
    Forall v In dbSource.Views
        If v.IsFolder Then
            i = i + 1
            Redim Preserve folders( i - 1 ) As String
            folders( i - 1 ) = v.Name
        End If
    End Forall
    
    ret = w.Prompt( PROMPT_OKCANCELLISTMULT, "Folder selection", "Select one or more folders to move.", folders(0), folders )
    If Isempty( ret ) Then
        Messagebox "User canceled", , "Folder not selected"
        Exit Sub
    Else
        Forall f In ret    
            Set source = dbSource.GetView( f )
            Set vc = source.AllEntries
            
            rez = w.Prompt( 13, "Database selection", 
"Choose the database to move the folder to" )
            If Isempty( rez ) Then Messagebox "User canceled", , 
"Database not selected" : Exit Sub
            
            Set dbDest = s.GetDatabase( rez(0), rez(1), False )
            Call dbDest.EnableFolder( f )
            
            Set ve = vc.GetFirstEntry
            Do Until ve Is Nothing
                Set docDest = ve.Document.CopyToDatabase( dbDest )
                Call docDest.PutInFolder( f )
                Set ve = vc.GetNextEntry( ve )
            Loop
            
            Call vc.RemoveAllFromFolder( f )
            Call source.Remove
        End Forall
    End If
End Sub
 
 
MEMBER FEEDBACK TO THIS TIP (Raimund G.)
Here's a quick add-on that will allow you to copy the design of the folder as well.
 
Sub Initialize
...<snip> ...
'Code added
Dim col As NotesViewColumn
 
... <snip> ...
Set dbDest = s.GetDatabase
( rez(0), rez(1), False )
Call dbDest.EnableFolder( f )
 
'Code added
Set dest = dbDest.GetView( f )
 
'Copy the columns from the 
source to the destination folder 
While dest.ColumnCount > 0
Call dest.RemoveColumn(dest.ColumnCount)
Wend
For i = 0 To source.ColumnCount-1
Set col = dest.CopyColumn(source.Columns(i), i+1) 
Next
 
'Code added
... <snip> ...
 
End Sub

Open in new window