Domino 9 und frühere Versionen > Entwicklung
Dokumente vergleichen und ausgeben (FtSerach)
koehlerbv:
Was willst Du denn nur mit Ansichten ? Deine Ergebnisse stehen in einer NotesDocumentCollection, und die hat ja nun auch gar nichts mit einer Ansicht zu tun.
Loope durch die Collection und hole Dir Dokument für Dokument die für Dich wichtigen Angaben in einen String und häng' diesem dann einem Array an. Dieses StringArray ("Textliste") zeigst Du dann in einem Feld Deiner Diabox-Maske an.
Ob das aber für das LS-Lernen und bei allgemeinen Verständnisproblemen schon eine geeignete Aufgabe ist ...
Bernhard
Selin:
Hallo,
habe nun folgendes Script:
Sub Initialize
Dim s As New NotesSession
Dim WS As New NotesUIWorkspace
Dim View As NotesView
Dim db As NotesDatabase
Dim targetdb As New NotesDatabase( "", "VIP.nsf" )
Dim dc As NotesDocumentCollection
Dim udc As NotesDocumentCollection
Dim checkdc As NotesDocumentCollection
Dim doc As NotesDocument
Dim Flag As Variant
Dim SucheName() As String
Dim tmpdoc As NotesDocument
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)
For i = 0 To dc.count -1
Set tmpdoc = dc.getfirstdocument
SucheName(i) = tmpdoc.Lastname(0) +" " + tmpdoc.FirstName(0)
Next
doc.Ergebnis = SucheName
'geht nicht
doc.Aktuell = "Hallo"
Flag = WS.Dialogbox("dialog", True, True, False, False, False, False, "Export", doc, False)
Else
' Kein Treffer: Dok. kann kopiert werden
Call doc.CopyTodatabase(targetdb)
End If
Set doc = checkdc.GetNextDocument(doc)
Loop 'do while not doc is nothing
End Sub
Was ich nicht hinbekommen habe ist den Inhalt vom markierten Dokument in das Feld "Aktuell" in meiner Maske fürs Dialogfeld reinzuschreiben
Aufbau sollte wie folgt aussehen:
Aktuelles Dokument:
Klaus Otto
Übereinstimmende Dokumente in der VIP Datenbank:
Klaus Otto
Und als nächsten Schritt wäre es genial, wenn man neben allen übereienstimmenden Dokumenten je zwei Schaltflächen für "Ersetzen" (Aktuelles Dokument wird übernommen) und "Hinzufügen"
Kann mir da jemand weiterhelfen?
danke + gruß
Selin:
habs gefunden
doc.Aktuell =doc.Lastname(0)+ ", " + doc.FirstName(0)+ " " + doc.CompanyName(0)
so gehts
Aber das mit den Schaltflächen krieg ich nichtgeregelt
Bitte um Hilfe
Gruß
koehlerbv:
Haben sich zwischendurch jetzt Deine Spezifikationen geändert ? Auf einmal bearbeitest Du ja keine Liste mehr, sondern einen einzelnen Wert.
Wie ist jetzt also die aktuelle Anforderung ? Du hast einen Wert (oder Werte ?) aus Deiner Quell-DB, und Du hast n mit n=0..x Werte aus der Ziel-DB ? Und willst dann konkret was machen ?
Bernhard
Selin:
aus meiner Quell db selektiere ich einen oder mehrere Datensätze.
Ích überprüfe jeden einzelnen selektierten Wert aus der Quell DB mit der Liste aus der ZielDB
Ausgegeben wird eine Dialogbox, wenn es Übereinstimmungen gibt.
Die Dialogbox sieht so aus,
dass ich meinen Aktuellen Wert in einem feld stehen habe
und die Übereinstimmungen in Form einer Liste in einem anderen Feld
Bei den Übereinstimmungen sollte neben jedem Listeneintrag je zwei Schaltflächen stehen
einmal zum Ersetzen durch den Aktuellen Wert aus der Quell Db und einmal zum Hinzufügen des Wertes aus der Quell DB in die Ziel DB
Ich hoffe, ich konnte es einigermaßen verständlich erklären ???
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln