Autor Thema: dynamische Auswertung eines Feldes  (Gelesen 1259 mal)

Offline MarkusL

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Geschlecht: Männlich
dynamische Auswertung eines Feldes
« am: 27.11.13 - 13:59:11 »
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
« Letzte Änderung: 27.11.13 - 17:00:19 von MarkusL »
Version Lotus Notes / Domino: 8.5.3
Server: 1 Cluster, 1 weiterer Server
Anzahl Benutzer: ca. 230

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: dynamische Auswertung eines Feldes
« Antwort #1 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
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: dynamische Auswertung eines Feldes
« Antwort #2 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.
« Letzte Änderung: 27.11.13 - 16:43:56 von Peter Klett »

Offline MarkusL

  • Aktives Mitglied
  • ***
  • Beiträge: 124
  • Geschlecht: Männlich
Re: dynamische Auswertung eines Feldes
« Antwort #3 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
Version Lotus Notes / Domino: 8.5.3
Server: 1 Cluster, 1 weiterer Server
Anzahl Benutzer: ca. 230

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz