ja, also hier der Code, wobei @harkpabst schon das wichtigste gesagt hat, wenn man nämlich auch Änderungen in verschiedenen Feldern triggern möchte, daß dazu eigentlich die Replikation absolut ideal ist. daher berücksichtige ich diesen speziellen Fall nicht.
Ein Agent, der in der Quell DB startet, die ALLE Docs vorhält und nun nachschaut, ob in der "Slave" (ich nennen sie "DB2.nsf") DB auch diese Docs vorhanden sind.
_Quellview_In_QuellDB="ICH_HEISSE_VIEW"
_Searchview_In_Slave="ICH_HEISSE_AUCH_VIEW"
_Server="ICH_BIN_DER_SERVER"
_SlaveDB="Test\\ICH_HEISSE_SLAVE_DATENBANK.NSF"
'Quell DB referenzieren
Dim session1 As New NotesSession
Dim db1 As NotesDatabase
Set db1 = session1.CurrentDatabase
'View in Quell DB festlegen
Dim view1 as NotesView
Set view1 = db1.GetView( _Quellview_In_QuellDB )
'Slave DB referenzieren
Dim db2 As New NotesDatabase( _Server, _SlaveDB )
Dim view2 As NotesView
Dim doc2 As NotesDocument
Set view2 = db2.GetView( _Searchview_In_Slave )
'erstes Doc im View der QuellDB holen
Set doc1 = view1.GetFirstDocument
Dim _Suchkey as String
'solange Docs noch in View gehe um ein Doc weiter
While Not(doc1 Is Nothing)
'wenn fokussiertes Doc kein item Subject hat, weiter zum nächsten Doc
If doc1.HasItem("Subject") Then
'Feld_Subject auslesen
_suchkey=doc.Subject(0)
'in Slave DB nach diesem Begriff suchen
Set doc2 = view2.GetDocumentByKey( _suchkey)
'wenn kein Doc gefunden, dann rüberkopieren aus Quelle nach Slave DB
If ( doc2 Is Nothing ) Then
Call doc1.CopyToDatabase( Db2 )
End if
End if
'und weiter zum nächsten Doc in Quell DB
Set doc1 = view1.GetNextDocument(doc1)
Wend
Jo, das müßte passen, habs aber nicht debugged, da hier reingehauen. Checks bitte auf Schreibfehler oder prgrammatische Fehler per Debugger.