先做一个归档库,再在原数据库写一个定时代理,如下
Sub Initialize
On Error Goto errprocessing
Dim ss As NotesSession
Dim db As notesdatabase
Dim arcdb As notesdatabase
Dim view As NotesView
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim arcdbpath As String
Dim viewname As String
Dim i As Long
Dim tmpdoc As NotesDocument,tmpdoc1 As NotesDocument

arcdbpath="lib\back.nsf"  '归档库的路径
viewname="finish"         '要归档的文档视图

Set ss=New NotesSession
Set db=ss.CurrentDatabase

Set arcdb=ss.GetDatabase(db.server,arcdbpath)
If arcdb Is Nothing Then Exit Sub

If arcdb.IsOpen Then
Set view=db.GetView(viewname)
If view Is Nothing Then Exit Sub

Set doc=view.GetFirstDocument
While Not (doc Is Nothing)
Set tmpdoc=view.GetNextDocument(doc)
Set tmpdoc1=arcdb.CreateDocument
Call doc.CopyAllItems( tmpdoc1, True )
Call tmpdoc1.save(False,False)
Call doc.Remove(True)

Set doc=tmpdoc
Wend

End If
exit_sub:
Exit Sub
errprocessing:
Msgbox "Agent  Wrong:  "+Cstr(Error)+"#ERL#"+Cstr(Erl)
Resume exit_sub
End Sub