Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Phate am 16.09.04 - 17:22:41
-
Hallo,
kennt jemand eine Lösung wie ich die Werte einer Liste zähle?
Die Liste sieht etwa so aus.
Liste: BWL; Informatik; Mathe; Informatik; BWL; Mathe; Mathe
nun möchte ich zählen wie oft Mathe oder BWL oder Informatik in der Liste vor kommt.
-
in Notes6 haben wir ja jetzt die schöne Formel @For.
count := 0;
List1:=DeinMultiValueFeld;
List2 := "Mathe";
@For(n := 1;
n <= @Elements(List1);
n := n + 1;
@If(List1[n] = List2 ; Count := Count + 1 ; "") );
@Prompt([Ok] ; List2; @Text(Count))
Jetzt musst du im Prinzip nur noch ermitteln, welche Elemente in der Liste vorhanden sind ( in einem übergeordneten @For z.B. )
-
oder:
_list := DEINELISTE;
_search := SUCHELEMENT;
@Elements(@Transform(
_list;
"x";
@If( x = _search ; x; @Nothing)
))
-
oder R5-kompatibel:
_list := DEINELISTE;
_search := SUCHELEMENT;
_temp := @Replace (DEINELISTE; SUCHELEMENT; "");
_elements := @Elements (_list) - @Elements (_temp);
Ist die Anzahl der Suchelemente nicht bekannt, dann - wie von Ulrich beschrieben - eine @For-Schleife darüber legen und die jeweiligen Ergebnisse in eine Ergebnisliste ablegen.
Es führen viele Wege nach Rom ...
Bernhard
-
Vielen Dank für die schnellen Antworten
-
Nur der Vollständigkeit halber:
In der Formel von @koehlerbv fehlt, glaube ich, ein @Trim
statt:
_temp := @Replace (DEINELISTE; SUCHELEMENT; "");
war sicher gemeint:
_temp := @Trim(@Replace (DEINELISTE; SUCHELEMENT; ""));
Gruß,
Uwe
-
Uwe, vielen Dank ! Noch beim Posten sagte ich zu mir "Vergiss das @Trim nicht mit hinzuschreiben !", aber ...
Das @Trim ist ja der eigentliche Casus Knaktus - und dann hab' ich's doch vergessen.
Nochmals DANKE für Deine Aufmerksamkeit, Uwe - und sorry @All für meine Schusslichkeit !
Bernhard