Domino 9 und frühere Versionen > ND8: Entwicklung
dynamische Auswertung eines Feldes
(1/1)
MarkusL:
Hallo zusammen,
kann mir jemand einen Denkansatz für folgende Aufgabe geben?
* Ich habe eine Maske, in der ein Textfeld per Button mit nur einem Wert gefüllt wird.
* Jetzt möchte ich über einen weiteren Button eine Auswertung über alle Dokumente machen. In dieser Auswertung soll die Anzahl der jeweiligen Einträge in dem Feld gezählt werden.
* Eine hart-verdrahtete Auswertung mit den jetzt bekannten Werten habe ich schon.
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
Klafu:
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
Peter Klett:
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
--- Ende Code ---
Die Ausgabe des Ergebnisses ist natürlich nur ein Beispiel, wie Du an die Werte in zaehler wieder herankommst.
MarkusL:
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
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln