Domino 9 und frühere Versionen > ND6: Entwicklung
zwei Dokumente mit gleicher DocID???
Katja_S:
Ja, kann ich aber erst morgen posten, da ich nicht mehr auf der Arbeit bin. Trotzdem schon mal danke und schönen abend noch.
bis morgen dann..;-)
Katja
Katja_S:
Die Funktion getProfileFieldValue() wird wie folgt aufgerufen:
--- Code: ---Dim totalClaim As Variant
'Summe Jahresurlaub aus Profil holen
stringJahr = "2003"
stringPerson = "Mustermann, Max"
totalClaim = getProfileFieldValue(stringPerson, stringJahr, "VacTotalClaim1")
--- Ende Code ---
--- Code: ---Function getProfileFieldValue(person As String, jahr As String, feld As String) As Variant
Dim ansicht As NotesView
Dim ansichtPersonCol As NotesViewEntryCollection
Dim ansichtPerson As NotesViewEntry
Dim personProfil As NotesDocument
Dim db As NotesDatabase
Dim session As New NotesSession
Dim found As Boolean
Dim jahrItem As Variant
Dim stateItem As Variant
found = False
Set db = session.CurrentDatabase
Set ansicht = db.GetView("(AdminAllPersonsClaimByMA)")
Set ansichtPersonCol = ansicht.GetAllEntriesByKey(person, True)
If ansichtPersonCol.Count =0 Then
getProfileFieldValue = "es existiert kein Personenprofil"
Else
Set ansichtPerson = ansichtPersonCol.GetFirstEntry()
Do While Not (ansichtPerson Is Nothing)
If ansichtPerson.IsDocument() Then
Set personProfil = ansichtPerson.Document
jahrItem = personProfil.GetItemValue("VacYear")
If jahr = Cstr(jahrItem(0)) Then
stateItem = personProfil.GetItemValue(feld)
getProfileFieldValue = stateItem
found = True
Exit Do
End If
End If
Set ansichtPerson = ansichtPersonCol.GetNextEntry(ansichtPerson)
Loop
End If
If Not found Then
Messagebox("Kein Profil gefunden")
End If
End Function
--- Ende Code ---
Die Ansicht "(AdminAllPersonsClaimByMA)" ist wie folgt aufgebaut:
Mustermann, Max
2004
Januar
Februar
...
Dezember
2003
Januar
Februar
...
Dezember
Die Monate in der Ansicht gehören alle zu dem jeweiligen Jahresprofil, ist also ein Dokument.
Die Parameter werden alle richtig übergeben, aber zum Jahr 2003 wird einfach kein Profil gefunden, obwohl es existiert und auch in der Ansicht im NotesClient zu finden ist. Findet ihr einen Fehler?
Danke schon mal.
Gruß Katja
Semeaphoros:
Aha, da haben wirs, die ViewEntryCollection, die Du hier verwendest, um die Ansicht zu durchlaufen, funktioniert nicht korrekt mit kategorisierten Ansichten. Also entweder eine Ansicht verwenden, die nicht kategorisiert ist, oder mit GetAllDocumentsByKey eine DocumentCollection holen.
Katja_S:
Das habe ich auch gerade festgestellt, als ich den Unterschied zwischen den Methoden getAllEntriesByKey und getAllDocumentsByKey verstehen wollte. Unsere Ansicht ist leider kategorisiert. Ich probier das gleich mal aus..:-)...Danke für die Unterstützung!
Katja_S:
Problem gelöst. Erstens lag es an der falschen Methode und hinzu kam, dass die Ansicht irgendwie ein Problem hatte. Mit einer neuen Ansicht hat dann alles wunderbar geklappt. :D
Vielen Dank nochmal für eure Hilfe!
Katja
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln