Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Hedwig14 am 05.12.07 - 14:48:15

Titel: Coll / Statistik
Beitrag von: Hedwig14 am 05.12.07 - 14:48:15
Ich habe mit LS eine Coll gebildet.

In dieser Coll sind diverse Dokumente, die in einem Feld unterschiedliche Werte haben.
(die Anzahl un der Inhalt ist jedoch unbekannt)
Diese Werte muss zählen lassen.

Wie gehe ich an diese Sache ran ?
Titel: Re: Coll / Statistik
Beitrag von: DAU-in am 05.12.07 - 14:51:08
eine Schleife bauen und aufaddieren?

Oder habe ich das Problem nicht verstanden?
Titel: Re: Coll / Statistik
Beitrag von: Hedwig14 am 05.12.07 - 14:55:59
doch das hast du richtig verstaden.

Welche Schleife innerhalb der While-Schleife  ist hierbei zu empfehlen ?
Titel: Re: Coll / Statistik
Beitrag von: klaussal am 05.12.07 - 14:59:23
Aus der Hilfe:

Code
Dim db As New NotesDatabase _
( "Ankara", "current\projects.nsf" )
Dim view As NotesView
Dim doc As NotesDocument
Set view = db.GetView( "Open\By Due Date" )
Set doc = view.GetFirstDocument
While Not ( doc Is Nothing )
  ......
....
  Set doc = view.GetNextDocument( doc )
Wend

Musst Du nur noch anpassen....
Titel: Re: Coll / Statistik
Beitrag von: Hedwig14 am 05.12.07 - 15:00:46
@klauss: das ist mir bekannt und beantwortet nicht meine Frage !

Titel: Re: Coll / Statistik
Beitrag von: klaussal am 05.12.07 - 15:05:56
Zitat
Wie gehe ich an diese Sache ran ?

Dann drücke Dich bitte präziser aus.
Titel: Re: Coll / Statistik
Beitrag von: DAU-in am 05.12.07 - 15:19:31
Wir haben hier heute schon den ganzen Tag Ratespiele hier, also rate ich mal:

In dem Feld stehen mehrere Zahlen?
Und die sollen alle nacheinander aufaddiert werden?

Wie sind die denn getrennt?
Sind es immer Multivaluefelder?

Dann lauf doch einfach immer bis UBound(Feld).
Titel: Re: Coll / Statistik
Beitrag von: klaussal am 05.12.07 - 15:24:24
Könnte man vermuten. Die Fragestellung lässt zuviel Interpretationsspielraum.
Ansonsten innerhalb der While-Schleife mit Forall kreisen.
Titel: Re: Coll / Statistik
Beitrag von: Hedwig14 am 05.12.07 - 15:32:44
Ich habe eine feststehende COLL mit x Dokumenten.
Diese Dokumente haben alle ein TEXT -  Feld Namens "Fehlerart"
Dieser Wert kann unterschiedlich sein und x mal vorkommen.

Nun möchte ich innerhalb der Coll alle Dokumente mit dem
Feld Fehlerart zählen. Wobei ich aber nicht den Suchbegriff kenne
bzw. die Anzahl der Möglichen Werte.

Ich bekomme das Zählen der Dokumente nicht hin. Weil
Anzahl und Inhalt variabel ist !
Titel: Re: Coll / Statistik
Beitrag von: klaussal am 05.12.07 - 15:37:33
Zitat
Nun möchte ich innerhalb der Coll alle Dokumente mit dem
Feld Fehlerart zählen.
Die Anzahl steht schon in den Eigenschaften der Collection.

 
Zitat
Wobei ich aber nicht den Suchbegriff kenne
Ja, was denn jetzt ? Suchen oder zählen ?

Zitat
Ich bekomme das Zählen der Dokumente nicht hin.
Also doch Zählen ? Dann siehe 1. Antwort.
Titel: Re: Coll / Statistik
Beitrag von: koehlerbv am 05.12.07 - 15:38:09
Das ist aber etwas vollkommen anderes, als die Ausgangsfrage impliziert hat!

Es bleibt also bei Klaus' einer While-Schleife, und der Zähler wird inkrementiert, wenn Fehlerart (0) <> "".

Und irgendwie habe ich die Ahnung, dass sich die Fragestellung nochmals ändern wird ...
Titel: Re: Coll / Statistik
Beitrag von: Hedwig14 am 05.12.07 - 15:45:53
Sorry, dann drücke ich mich wohl falsch aus:

Ich habe in einer Collection z.B. 100 Dokumente.
Alle 100 Dokumente haben das Feld "Fehlerart".

Davon haben
20 Dokumente im Feld Fehlerart den Wert "Otto" (der Wert ist variabel)
25 Dokumente im Feld Fehlerart den Wert "Hans" (der Wert ist variabel)
55 Dokumente im Feld Fehlerart den Wert "Karl" (der Wert ist variabel)

Und genau das will ich zählen und bevor ich zählen kann muss ich die
Dokumente ermitteln (suchen)

Ich hoffe, dass ist jetzt verständlicher !

Titel: Re: Coll / Statistik
Beitrag von: koehlerbv am 05.12.07 - 15:50:18
Dacht' ich es mir doch  ;D

Also: While-Schleife. Aus den Fehlerarten wird eine Listvariable gefüllt (Listtag = Fehlerart) bzw. das passende Element inkrementiert.
Nach Abarbeitung der Schleife wird die Listvariable mit Forall ausgewertet.

Bernhard
Titel: Re: Coll / Statistik
Beitrag von: klaussal am 05.12.07 - 15:55:25
Evtl. zwei Listvariablen:

"Otto"; "Hans";"Karl"
20;25;55
Titel: Re: Coll / Statistik
Beitrag von: koehlerbv am 05.12.07 - 15:58:23
Listvariablen sind aber etwas ganz anderes, Klaus ...

Bernhard
Titel: Re: Coll / Statistik
Beitrag von: Hedwig14 am 05.12.07 - 16:02:45
wie fülle ich denn die list  in der Whiele Schleife ?
Titel: Re: Coll / Statistik
Beitrag von: koehlerbv am 05.12.07 - 16:09:22
Listtag auf Vorhandensein prüfen und dann entweder
lstErrors ("deine fehlerart") = 1
oder
lstErrors ("deine fehlerart") = lstErrors ("deine fehlerart") + 1

Siehe DesignerHelp.

Bernhard
Titel: Re: Coll / Statistik
Beitrag von: klaussal am 05.12.07 - 16:11:09
Zitat
Listvariablen sind aber etwas ganz anderes, Klaus ...
Ja, ja , ok sagen wir Array.
Titel: Re: Coll / Statistik
Beitrag von: Hedwig14 am 05.12.07 - 16:15:33
Also wenn ich das richtig verstanden habe.

Soll ich erst eine List anlegen (innerhalb der While Schleife),
die alle möglichen Werte aus Fehlerart aufnimmt.

Diese liste arbeite ich im zweiten Schritt ab,

Wenn das richtig ist: Wie erstelle ich die Liste innerhalb der While Schleife

mit append ?
Titel: Re: Coll / Statistik
Beitrag von: koehlerbv am 05.12.07 - 16:19:41
Zitat
Listvariablen sind aber etwas ganz anderes, Klaus ...
Ja, ja , ok sagen wir Array.
Dann sagst Du zu einem Gullideckel vermutlich auch Eierlöffel  ;D

Auszug aus dem Kapitel "Lists" der DesignerHelp:
Zitat
A list is a one-dimensional collection of elements of the same data type. You can change the size of a list at any time while the application is running and LotusScript does not allocate any storage space at compile time for the elements of a list. Lists automatically shrink or grow when elements are deleted from or added to them. You access each element in a list by a unique String value, called a list tag.

Bernhard
Titel: Re: Coll / Statistik
Beitrag von: koehlerbv am 05.12.07 - 16:23:17
Wenn das richtig ist ...

Ich hoffe, wir meinen das gleiche. Dann ist es richtig.

Wie erstelle ich die Liste innerhalb der While Schleife

Ich habe es oben schon geschrieben: Schau in die Designerhilfe. Da ist das sauber beschrieben (und wir werden das hier nicht wiederholen). Was noch fehlt, habe ich auch schon beschrieben.
Und nein: "Append" spielt hier nicht mit.

Bernhard
Titel: Re: Coll / Statistik
Beitrag von: Hedwig14 am 05.12.07 - 16:28:26
ah ja ! und wie sieht es in der Praxis aus ?
Titel: Re: Coll / Statistik
Beitrag von: tks am 05.12.07 - 16:32:24
dim lstErrors List as Integer
dim ftext as String

.....

while not doc is nothing
ftext = doc.Fehlertext(0)
If Iselement(lstErrors(ftext)) Then
      lstErrors(ftext) = lstErrors(ftext) + 1
   Else
      lstErrors(ftext) = 1
   End If
.....
wend

So als Vorschlag.
Titel: Re: Coll / Statistik
Beitrag von: tks am 06.12.07 - 13:27:32
Ein Feedback wäre nett.
Titel: Re: Coll / Statistik
Beitrag von: koehlerbv am 06.12.07 - 20:33:44
Thomas, schau Dir diesen und die anderen Threads von "Hedwig14" an, dann weisst Du Bescheid, wie das ausgeht ...

Bernhard
Titel: Re: Coll / Statistik
Beitrag von: tks am 07.12.07 - 10:09:11
Man soll die Hoffnung ja nie aufgeben......
Titel: Re: Coll / Statistik
Beitrag von: koehlerbv am 07.12.07 - 23:16:55
Wie Du siehst, Thomas: Manchmal muss man es. Ein neuer Thread ist von "Hedwig14" schon erstellt, aber kein Mucks mehr hier.

Mich ärgert sowas immer sehr, und ich überlege sehr lange, bis ich Leute auf meine (sehr kleine) persönliche Blacklist aufnehme. Ich habe hier das Verfahren geliefert, Du sogar noch Code, und wenn "Hedwig14" nicht noch schussliger ist als anzunehmen, haben wir von AtNotes jetzt einem Unternehmen Geld gespart. Aber das wird einfach so hingenommen ...

Kopfschüttelnd,
Bernhard