Hallo miteinander,
ich bin schon langsam am verzweifeln. Die Folgende Function bringt mich noch um den verstand da sie mir nicht das richtige Ergebnis (anzteilnehmer ist immer 0) zurückliefert. Dazu siehe Anhangbild aus dem Debugger.
Function ErmittleAnzahlTeilnehmer(ByVal view As String, ByVal key As String, ByVal datum As String) As Integer
Dim anzteilnehmer As Integer
Dim docdatum As Variant
Dim ddatum As String
Set ss = New NotesSession
Set db = ss.Currentdatabase
Set vw = db.Getview(view)
Set dcdoc = vw.GetAllDocumentsByKey(key, True)
Set doc = dcdoc.Getfirstdocument()
anzteilnehmer = 0
While Not doc Is Nothing
docdatum = doc.Getitemvalue("anm_Teilnahmedatum")
ddatum = docdatum(0)
If docdatum(0) = datum Then
anzteilnehmer = anzteilnehmer + 1
End If
Set doc = dcdoc.Getnextdocument(doc)
Wend
ErmittleAnzahlTeilnehmer = anzteilnehmer
End Function
Dies ist der letzte Stand der Function. Angefangen habe ich mit einem KeyArray und den Einträgen keyarray(1) = key und keyarray(2) = datum. Ich war der Meinung das dann dcdoc.Count mir die gewünschte Anzahl liefert. Die Ansicht ($Seminarteilnehmer) enthält in der ersten Spalte den Seminartitel und in der 2. Spalte das Datum. Beide Spalten sind aufsteigend sortiert. Ich habe es auch schon mit Kategorisieren versucht. Ich bekomme nie das bisher einzige Dokument zurück geliefert.
Client und Designer schließen hat auch nicht geholfen. Die Variable ddatum ist nur zumTesten um zu sehen ob ein umkopieren hilft. Leider aber auch nicht.
So wie es oben gemacht ist, ist es irgendwie umständlich. Aber wenn es wenigstens funktionieren würde wär mir das egal.
Ich hoffe mich schubst jemand in die richtige Richtung und gibt mir einen Tipp was ich hier falsch mache.
Vielen Dank
Klaus Dewald
Client 8.5.2 FP3