Autor Thema: Dokumente vergleichen und ausgeben (FtSerach)  (Gelesen 11600 mal)

Offline Selin

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 532
  • Geschlecht: Weiblich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #20 am: 01.10.04 - 09:26:50 »
das klappt nicht


Notes Error: Formelfehler
Windows XP
Notes 6.5

Driri

  • Gast
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #21 am: 01.10.04 - 10:36:37 »
Sorry, kleiner Fehler in der Formel  ::)

Set dc = targetdb.Search( |Lastname = "| + doc.LastName(0) + |" & Firstname ="| + doc.FirstName(0) + |"|,Nothing,0 )

Offline Selin

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 532
  • Geschlecht: Weiblich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #22 am: 01.10.04 - 13:00:48 »
was gibt es für möglichkeiten, wenn einer in der einen DB mit "Toni Müller" geschrieben ist und ind er anderen  mit "Toni Mueller"
Aber es sind beides die selbe Person.
Windows XP
Notes 6.5

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #23 am: 01.10.04 - 13:07:01 »
Etwas sicheres gibt es da nicht.

Ansätze, die einige Fälle lösen:
- Normieren ("ü" -> "ue" usw.)
- Soundex-Funktion
- Vergleich weiterer (normierter) Merkmale

Schwierig wird es bei Anton Müller vs. Toni Müller usw.

Eine hundertprozentige Lösung gibt es nicht.

Bernhard

Offline Selin

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 532
  • Geschlecht: Weiblich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #24 am: 01.10.04 - 15:35:04 »
Ich versuche über eine Dialogbox die Treffer auszugeben
Habe mir eine Maske erstellt.
Habe versucht über eingebettete Ansichten was zu machen, aber ich kann ja nur
Ansichten aus der aktuellen DB in eine Maske einfügen, oder?

Wie kann ich noch die Treffer in einer Dialogbox ausgeben?

Über ein Richtestfeld?
Habe mir die Hilfe hierzu angeguckt aber habe nichts gefunden.

habe es auch mit Dialogliste versucht. Da kann man ja Ansichten aus anderen DBs anzeigen lassen. Aber das ist blöd, wenn man erst noch mal wo rein klicken muss, um die Liste zu sehen.

Brauche Eure Hilfe

danke
Windows XP
Notes 6.5

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #25 am: 01.10.04 - 15:45:24 »
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

Offline Selin

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 532
  • Geschlecht: Weiblich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #26 am: 05.10.04 - 11:34:54 »
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ß
Windows XP
Notes 6.5

Offline Selin

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 532
  • Geschlecht: Weiblich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #27 am: 05.10.04 - 14:24:23 »
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ß
Windows XP
Notes 6.5

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #28 am: 05.10.04 - 14:33:51 »
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

Offline Selin

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 532
  • Geschlecht: Weiblich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #29 am: 05.10.04 - 14:45:00 »
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  ???
Windows XP
Notes 6.5

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #30 am: 05.10.04 - 15:01:50 »
Jo, jetzt sehe ich klar.
Nur: Du kannst Dir dynamisch keine Schaltflächen erzeugen in Abhängigkeit von der Trefferzahl.
Was Du machen kannst (und so löse ich das auch): In einem Listenfeld (Keywords berechnet) ziehst Du Dir aus einem Feld Deine Treffer. Diese kann dann der User selektieren und dann auf den Button seiner Wahl klicken: Übertragen, ersetzen. Der Inhalt des Listenfeldes (des Users Wahl) steht Dir dann bei Button-Click ja zur Verfügung.

HTH,
Bernhard

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #31 am: 05.10.04 - 15:11:16 »
Hier ist ein schönes Beispiel aus der Sandkiste, wie man solche Dialoge aufbauen kann (mal den customized export durchführen):

http://www-10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/807dd94ea530733800256bd8003a4e36?OpenDocument&Highlight=0,export

HTH,
Bernhard

Offline Selin

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 532
  • Geschlecht: Weiblich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #32 am: 05.10.04 - 15:58:02 »
okidok
danke werde es mir mal angucken
 :)
Windows XP
Notes 6.5

Offline Selin

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 532
  • Geschlecht: Weiblich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #33 am: 12.10.04 - 10:16:51 »
Hallo ,

habe nun das mit dem Listfeld gemacht.
Wie kann ich jetzt einen der markierten Einträge aus der Liste durch den aktuellen Wert ersetzen bzw. den aktuellen Wert in die Liste mit übernehmen und exportieren?

Kann mir da jemand ein paar Tipps geben?

Danke + Gruß
Windows XP
Notes 6.5

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #34 am: 12.10.04 - 19:29:34 »
Was ist denn jetzt "einer der markierten Einträge", was ist ein "aktueller Wert" und vor allem: Warum willst Du den "aktuellen Wert" in die "Liste" übernehmen ?

Bitte klarere Fragen.

Bernhard

Offline Selin

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 532
  • Geschlecht: Weiblich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #35 am: 13.10.04 - 10:33:10 »
Hallo,

also hier noch mal mein 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 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 = 1 To dc.count
            Set tmpdoc = dc.getNthDocument(i)
            SucheName(i-1) = tmpdoc.LastName(0) +", " + tmpdoc.FirstName(0) +" " + tmpdoc.CompanyName(0)
            
         Next
         
         doc.Ergebnis = SucheName
               'geht nicht         
         
         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)
         
         
      End If
      Set doc = checkdc.GetNextDocument(doc)
      
      Loop   'do while not doc is nothing
End Sub

In meiner Maske Dialog habe ich ein Feld "Aktuell", dass den zu exportierenden Wert beinhaltet und noch ein Listfeld, dass die Einträge aus Ergebnis beinhaltet.
Nun möchte ich einen der Treffer aus Ergebnisliste markieren und über die Knöpfe "Ersetzen" (um den markierten Wert durch den Wert in "Aktuell" zu ersetzen) oder Hinzufügen, um den Wert aus "Aktuell" in die andere datenbank zu exportieren )

Danke
Windows XP
Notes 6.5

Offline Selin

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 532
  • Geschlecht: Weiblich
Re: Dokumente vergleichen und ausgeben (FtSerach)
« Antwort #36 am: 19.10.04 - 16:06:40 »
Hallöö,

keiner ne Idee??
Windows XP
Notes 6.5

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz