Domino 9 und frühere Versionen > Entwicklung

Dokumente vergleichen und ausgeben (FtSerach)

<< < (6/8) > >>

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