Domino 9 und frühere Versionen > Entwicklung
Zusammenführung von Dokumenten
KiTaMann:
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
ghost:
Es muss heissen:
(...)
sel2 = | Form = "Dokument2" & PersNr = | & Personalnummer
(...)
Viele Grüße
ghost
KiTaMann:
@Ghost:
Danke für die prompte Antwort...
Passt .... - jetzt wird die Nummer auch im Debugger angezeigt.
Grüße
Klaus
KiTaMann:
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
koehlerbv:
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
--- Ende Code ---
HTH,
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln