Hallo,
also hier ist mein Script
Sub Initialize
Dim s As New NotesSession
Dim WS As New NotesUIWorkspace
Dim View As NotesView
Dim db As NotesDatabase
'Die DB, in die kopiert werden soll
Dim targetdb As New NotesDatabase( "Server", "Datenbanken/VIP.nsf" )
Dim dc As NotesDocumentCollection
Dim source As NotesUIDocument
Dim checkdc As NotesDocumentCollection
Dim doc As NotesDocument
Dim Flag As Variant
Dim SucheName() As String
Dim Unids() As String
Dim tmpdoc As NotesDocument
Dim modifyDate As Variant
Dim i As Integer
Dim found As Integer
Set db = s.CurrentDatabase
Set checkdc = db.UnprocessedDocuments
Set doc = checkdc.GetFirstDocument
Do While Not doc Is Nothing
found = False
'Prüfe Nachname und Vorname
Set dc = targetdb.Search( |Lastname = "| + doc.LastName(0) + |" & Firstname ="| + doc.FirstName(0) + |"|,Nothing,0 )
If dc.Count > 0 Then
Msgbox(dc.count)
'Hier gibt es einen Treffer:
found = True
Redim SucheName(dc.count)
Redim Unids(dc.count)
For i = 1 To dc.count
Set tmpdoc = dc.getNthDocument(i)
SucheName(i-1) =tmpdoc.LastName(0) + ", " + tmpdoc.FirstName(0)+ " " +tmpdoc.CompanyName(0) + " (" + Format$( doc.LastModified, "Short Date")+")"
Unids(i-1) = tmpdoc.UniversalID
Next
doc.Ergebnis = SucheName
doc.Liste1 = SucheName
doc.Unids = Unids
doc.Aktuell =doc.Lastname(0)+ ", " + doc.FirstName(0)+ " " + doc.CompanyName(0)
Flag = WS.Dialogbox("dialog", True, True, False, False, False, False, "Export", doc, False)
Else
' Kein Treffer: Dok. kann kopiert werden
Call doc.CopyTodatabase(targetdb)
Set source= WS.CurrentDocument
End If
Set doc = checkdc.GetNextDocument(doc)
Loop 'do while not doc is nothing
End Sub
Eine Dialogmaske wird aufgerufen.
Mit Feldern Aktueller Wert
und die Ergebnisliste
liste1 und UNIDS
Zwei Knöpfe habe ich noch ind er Maske
Bei dem einen habe ich testhalber mal folgendes gemacht
@Prompt([OK];"";Ergebnisliste);
tmp0 := @Text(Ergebnisliste);
tmp:=@Member(tmp0;Liste1);
@Prompt([OK];"";@Text(tmp));
UNID := @Subset(@Subset(Unids;tmp);-1);
@Prompt([OK];"";@Text(UNID))
Somit habe ich von den Dokumenten, die ich aus der Ergebnisliste wähle, die DOCIDs und müsste
das Originaldokument z.B. überschreiben können.
Ich gebe nur Teile aus dem Dokument in meiner Ergebnisliste aus (Name, Vorname, Firma)
und im Feld Aktueller Wert genauso.