Autor Thema: Zusammenführung von Dokumenten  (Gelesen 2866 mal)

Offline KiTaMann

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • Nimm Platz in meiner Datenbank!
Zusammenführung von Dokumenten
« am: 10.03.06 - 07:35:42 »
Guten Morgen zusammen,

ich habe aus externen Dateien 2 Dokumente erzeugt, die ich nun in ein Dokument zusammenführen möchte.

Was beide Dokumente gemeinsam haben ist die gleiche eindeutige Personalnummer. Diese soll für mich bei der Zusammenführung der Daten der Garant dafür sein, dass "Äpfel zu Äpfel" und "Birnen zu Birnen" kommen

Versucht habe ich folgendes:

In einem Aktionsknopf steckt dieses Script:


Sub Click(Source As Button)

   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim Step1Doc As NotesDocument
   Dim Step2Doc As NotesDocument
   Dim ResultDoc As NotesDocument
   Dim col1 As NotesDocumentCollection
   Dim col2 As NotesDocumentCollection
   Dim item As NotesItem
   Dim sel1, sel2 As String
   Dim dtCutOff As New NotesDateTime ("31.12.1899")
   Dim Personalnummer As String
Dim WAZ As String
… weitere Deklarationen
   
   Set db = session.CurrentDatabase
   
   sel1 = | Form = "Dokument1" |
   
   Set col1 = session.CurrentDatabase.Search(sel1,dtCutOff,0)
   
   For i = 1 To col1.count
      
      Set Step1Doc = col1.GetNthDocument(i)
      Set Item =Step1Doc.GetFirstItem("PersNr")
      Personalnummer = Trim(item.text)
      
      
      sel2 = | Form = "Dokument2" &  PersNr = Personalnummer |
      
      Set col2 = session.CurrentDatabase.Search(sel2,dtCutOff,0)      
      
      If col2.count > 0 Then
         
         For j = 1 To col2.count
            Set Step2Doc = col2.GetNthDocument(j)
            
            Set item = Step2Doc.GetFirstItem("Wochenarbeitszeit")
            WAZ = Trim(item.Text)
            
            … usw.
            
            
            Set ResultDoc = New NotesDocument(db)
            
            ResultDoc.Form = "ImportDokument"
            ResultDoc.ImportPersonalNummer = Personalnummer

            ... usw.
            
            Call ResultDoc.ComputeWithForm(False,False)
            Call ResultDoc.save(True,True)
            
         Next
      End If      
   Next   
   
End Sub


Wenn ich mir meine Variablen im Debugger ansehe, gibt die 2. Collection als gefundenen Wert "0" aus, was aber nicht sein kann. Die Variable Personalnummer ist auch ordnungsgemäß mit der Personalnummer aus Dokument1 "versehen".

Woran kanns liegen? (Feld- und Maskennamen habe ich natürlich überprüft)

Bin für jedwede Hilfe dankbar.

Grüße

Klaus
Gruß Klaus

"Alle Menschen sind klug.
Die einen vorher, die anderen nachher."

Offline ghost

  • Aktives Mitglied
  • ***
  • Beiträge: 174
  • Geschlecht: Männlich
  • Notes ist gut!
Re: Zusammenführung von Dokumenten
« Antwort #1 am: 10.03.06 - 07:45:28 »
Es muss heissen:

(...)
      sel2 = | Form = "Dokument2" &  PersNr = | & Personalnummer
(...)

Viele Grüße
ghost

Offline KiTaMann

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • Nimm Platz in meiner Datenbank!
Re: Zusammenführung von Dokumenten
« Antwort #2 am: 10.03.06 - 07:53:09 »
@Ghost:

Danke für die prompte Antwort...

Passt .... -  jetzt wird die Nummer auch im Debugger angezeigt.

Grüße
Klaus
Gruß Klaus

"Alle Menschen sind klug.
Die einen vorher, die anderen nachher."

Offline KiTaMann

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • Nimm Platz in meiner Datenbank!
Re: Zusammenführung von Dokumenten
« Antwort #3 am: 12.03.06 - 18:17:14 »
Schönen Sonntag wünsche ich....

... habe heute stundenlang (m)einen Fehler gesucht.

Nachdem mir die Nummer im debugger angezeigt wurde, dachte ich mir: "Naja, das machste dann am Sonntag mal eben fertig..." - Denkste!

Die Personalnummer wird mir nun zwar für meine Auswahl im debugger angezeigt, meine col2.count liefert mir aber als Ergebnis eine glatte "0", und das, obwohl die entsprechenden Dokumente mit Sicherheit in der DB vorhanden sind.

Beweis:
Die col2.count liefert mir hunderte von Dokumenten, wenn ich die Bedingung "Personalnummer" herausnehme...

Woran könnte es liegen? Hat jemand 'ne Idee?

Danke!

Klaus

Gruß Klaus

"Alle Menschen sind klug.
Die einen vorher, die anderen nachher."

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Zusammenführung von Dokumenten
« Antwort #4 am: 12.03.06 - 18:31:13 »
Du müsstest Dir mal auseinanderbröseln, welcher Suchstring bei

sel2 = | Form = "Dokument2" &  PersNr = Personalnummer |

herauskommt:

"Form = "Dokument2" & PersNr = Personalnummer"

Deine Variable ist dabei Teil des fixen Strings!

Korrekt wäre:
sel2 = | Form = "Dokument2" &  PersNr = | & |"| & Personalnummer & |"|

Tip: Probiere derartige selection formulae immer in Messageboxen aus, wenn Du Dir noch nicht sicher bist, ob das Resultat stimmen wird. Mir hilft sowas sehr.

Das hier habe ich zum Ausprobieren verwendet:
Code
Sub Click (Source As Button)
	
	Dim Personalnummer As String
	PersonalNummer = "123"
	
	Dim sel2 As String
	
	sel2 = | Form = "Dokument2" &  PersNr = Personalnummer |
	
	Msgbox sel2
	
	sel2 = | Form = "Dokument2" &  PersNr = | & |"| & Personalnummer & |"|
	
	Msgbox sel2
	
End Sub

HTH,
Bernhard

Offline KiTaMann

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • Nimm Platz in meiner Datenbank!
Re: Zusammenführung von Dokumenten
« Antwort #5 am: 12.03.06 - 18:39:37 »
Super! Danke Bernhard!!!!!!!!

So ähnlich hatte ich's schon, hatte aber die Pipes vergessen  :P...

... das mit der Messagebox werde ich mir für die Zukunft "hinter die Ohren" schreiben...

Nun geht's!

Nochmals besten Dank!!

Grüße
Klaus
Gruß Klaus

"Alle Menschen sind klug.
Die einen vorher, die anderen nachher."

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Zusammenführung von Dokumenten
« Antwort #6 am: 12.03.06 - 18:50:31 »
Messagebox oder Print oder Logging oder was sonst immer - es hilft, wenn man sieht, was passiert und (so wie Du) weiss, man erwarten muss. Ohne derartige Selbstkontrollen bin ich selber genügend oft auf die Nase gefallen  ;D

Für derartigen Erfahrungsaustausch ist ja AtNotes da. Und ich hätte mir Dein Post schon am Freitag etwas genauer anschauen sollen, aber die Zeit ...

Bernhard

Offline KiTaMann

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • Nimm Platz in meiner Datenbank!
Re: Zusammenführung von Dokumenten
« Antwort #7 am: 12.03.06 - 19:00:42 »
Für derartigen Erfahrungsaustausch ist ja AtNotes da. Und ich hätte mir Dein Post schon am Freitag etwas genauer anschauen sollen, aber die Zeit ...


...jaja, die Zeit ..., ich denke, davon hätte ich mir viel sparen können, wenn ich mir's am Freitag direkt nach Eingang "vorgenommen" hätte...

Nochmals Danke!

Klaus
Gruß Klaus

"Alle Menschen sind klug.
Die einen vorher, die anderen nachher."

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz