Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: MarkusL am 27.11.13 - 13:59:11

Titel: dynamische Auswertung eines Feldes
Beitrag von: MarkusL am 27.11.13 - 13:59:11
Hallo zusammen,

kann mir jemand einen Denkansatz für folgende Aufgabe geben?


Mein Problem ist, wie ich alle Werte erfasse und dann einen entsprechenden Zähler laufen lasse.
Wenn ich das Ganze hart im Agenten programmiere, werden keine neuen Werte in die Auswertung mit aufgenommen (was mir später auf die Füsse fallen könnte).

Kann mir bitte jemand einen Ansatz geben?

Danke schonmal

Gruß Markus
Titel: Re: dynamische Auswertung eines Feldes
Beitrag von: Klafu am 27.11.13 - 14:59:41
Hallo Markus,

als Denkansatz:
Du könntest die Dokumente in einer Ansicht darstellen und dann Document für Document (view.GetFirstDocument, view.GetNextDocument) durch gehn.
Dazu machst du ein Array, in das du den Wert des Feldes aus jedem der Dokumente rein schreibst und das Array immer hoch zählst. (etwa Array(i); i = i+1)

Am Ende zählst du die Werte aus dem Array zusammen.

Chris
Titel: Re: dynamische Auswertung eines Feldes
Beitrag von: Peter Klett am 27.11.13 - 16:31:28
Nimm eine Liste, die ist einfacher und fehlertoleranter. Sinngemäß so:

Dein auszuwertendes Feld heißt "Feld". Wie Klafu schreibt, gehst Du über eine Ansicht, oder über eine NotesDocumentCollection.

Code
Dim zaehler List As Long
Set doc = view.GetFirstDocument
Do While Not doc Is Nothing
   If Not IsElement (zaehler (doc.Feld (0))) Then
     zaehler (doc.Feld (0)) = 1
   Else
     zaehler (doc.Feld (0)) = zaehler (doc.Feld (0)) + 1
   End If
   Set doc = view.GetNextDocument (doc)
Loop

Dim msg As String
Forall z in zaehler
   msg = msg & Listtag (z) & " = " & z & Chr (13) & Chr (10)
End Forall
Msgbox msg

Die Ausgabe des Ergebnisses ist natürlich nur ein Beispiel, wie Du an die Werte in zaehler wieder herankommst.
Titel: Re: dynamische Auswertung eines Feldes
Beitrag von: MarkusL am 27.11.13 - 17:00:09
Hallo Chris und Peter,

vielen Dank für die Anregungen und Infos.
Habe das direkt mal erfolgreich umgesetzt. Wobei mir der Ansatz von Peter wegen der Fehlertoleranz und dem beigefügten Code etwas besser gefällt.

Danke an alle, die ihr Wissen hier immer so bereitwillig teilen.

Schöne Grüße
Markus