Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: smartie am 01.12.06 - 11:19:56
-
Hallo @All,
ich arbeite gerade an einen Ansicht, in der bei einer Spalte Werte aus verschiedenen Feldern zusammengefasst werden. Hiervon soll allerdings in der einen Spalte nur der jeweils kleinste Wert und in der anderen der jeweils höchste Wert angezeigt werden.
Als Beispiel: Ich habe 6 Felder
Urlaub1-Beginn: 01.12.
Urlaub1-Ende: 02.12.
Urlaub2-Beginn: 03.12.
Urlaub2-Ende: 04.12.
Urlaub3-Beginn: 05.12.
Urlaub3-Ende: 06.12.
Dann stehen in der einen Spalte alle Anfangstermin: 01.12., 03.12., 05.12.
und in der anderen alle Endtermine: 02.12., 04.12., 06.12.
Ich möchte gerne, dass in der ersten Spalte der kleinste Wert der Liste, also 01.12., und in der zweiten Spalte der höchste Wert der Liste, also der 06.12., steht.
Hat jemand eine Idee, wie ich das bewerkstelligen kann? Die Funktionen @Min und @Max vergleichen ja leider jeweils nur 2 Werte bzw. Wertlisten miteinander.
Für Tipps zur Lösung meines Problems bin ich sehr dankbar.
MfG
Stefan
Notes R5.0.11
-
Mach aus dem Datumswert eine Zahl ( 01.12.2006 = 20061201). Diese Spalte dann aufsteigend sortieren und verstecken.
-
Berechne doch die Wertedirekt im Dokument und speichere diese dort.
Dann hast Du es in der Ansicht leichter und performater..
-
... oder so....
-
Hallo klauss,
Mach aus dem Datumswert eine Zahl ( 01.12.2006 = 20061201). Diese Spalte dann aufsteigend sortieren und verstecken.
...was habe ich denn damit gekonnt??? Ein und das selbe Dokument enthält alle Felder. D.h. ich habe also bis zu drei Werte in jeder der beiden Spalten (Mehrfachwert). Ob ich diese dann nach Zahl oder Datumswert aufsteigend oder absteigend sortieren lasse, macht doch keinen Unterschied.
Ich möchte lediglich erreichen, dass nur der kleinste Wert in der ersten Spalte und der größte Wert in der zweiten Spalte angezeigt wird.
Ich kann dir da gerade nicht ganz folgen.
Hallo dirk_2909,
Berechne doch die Wertedirekt im Dokument und speichere diese dort.
Dann hast Du es in der Ansicht leichter und performater..
...dafür ist es leider zu spät. Die DB mit den entsprechenden Dokumenten existiert bereits. Es muss doch irgendeine Möglichkeit geben, Min- und Max-Werte zu ermitteln!?
MfG
Stefan
-
Zu spät ist es (fast) nie!!
Du könntest über die Doks einen Agenten laufen lassen.
In R5 hast Du wenig Chancen mit Formelsprache aus einer Textliste den niedrigsten bzw. höchsten wert herauszufinden.
Einfacher ist es wirklich einen LS-Agenten zu schreiben, der die Werte ermittelt und in entsprechende Felder speichert, die in der Ansicht angezeigt werden.
Für neu anzulegende Doks musst Du das im Query-/PostSave machen...
-
Hallo dirk_2909,
das wäre natürlich eine Möglichkeit. Ich finde es aber traurig, dass Notes so einfache Berechnungen nicht mit der Formelsprache hinbekommt.
Hast du auch noch einen Tipp zur Umsetzung. Ich finde in der Hilfe keinen Befehl zur Berechnung von Minimal- oder Maximalwerten unter LotusScript.
Danke.
MfG
STEFAN
-
Ich mache zum Sortieren aus einem Datum grundsätzlich Zahlen. Weil die im Format JJJJMMTT sind, lassen die sich ohne Probleme sortieren. Bei Datumsfeldern hatte ich da immer meine geregelten Probleme.... ;D
Ich finde es aber traurig, dass Notes so einfache Berechnungen nicht mit der Formelsprache hinbekommt.
Nich Notes die Schuld geben, wenn Du vorher nicht an Alles gedacht hast, oder wer auch immer...
-
Hallo klauss,
Ich mache zum Sortieren aus einem Datum grundsätzlich Zahlen. Weil die im Format JJJJMMTT sind, lassen die sich ohne Probleme sortieren. Bei Datumsfeldern hatte ich da immer meine geregelten Probleme.... ;D
Ich finde es aber traurig, dass Notes so einfache Berechnungen nicht mit der Formelsprache hinbekommt.
Nich Notes die Schuld geben, wenn Du vorher nicht an Alles gedacht hast, oder wer auch immer...
soweit bin ich nur noch nicht. Ich möchte zunächst mal den höchsten und den niedrigsten Wert ermitteln. Wie ich die Spalten hinterher sortiere, sei erstmal dahingestellt.
Mfg
STEFAN
-
Ich finde in der Hilfe keinen Befehl zur Berechnung von Minimal- oder Maximalwerten unter LotusScript.
In LS (und anderen Sprachen) kannst Du nicht direkt den Maximal- oder Minimal-Wert eines Datumfeldes ermitteln. Diese kleine Subroutine musst Du selber schreiben (und erarbeiten).
Dabei hilft Dir eine Schleife, ein oder mehrere Arrays und Logische Operatoren ;-)
In der Hilfe sind einige allgemeine Beispiele zu den o.g Dingen enthalten....
-
oder so
F1:=FeldA;
@If(FeldB > F1; @Set(F1;FeldB);FeldC > F1; @Set(F1;FeldC);"");
F1
-
F1:=FeldA;
@If(FeldB > F1; @Set(F1;FeldB);FeldC > F1; @Set(F1;FeldC);"");
F1
..und wie ermittelst Du so den größten oder kleinsten Wert aus einer (!!) Liste/ einem Feld ??! :P
-
Also in deinem Beispiel stehen keine Listen sondern nur Felder und Werte
-
OK- das mit den felder stimmt.
Im o.g. Beispiel sind es 6 felder. es könnten ja ach mehr sein. :P :-[
Weiß er wieviele verglichen werden müssen... :-:
Im Endeffekt sind es Listen mit Datumswerten die verglichen/sortiert werden müssen;
und das geht ab version R6.x definitiv besser.... 8)
Nichts desto Trotz würde ich das nicht in den Spaltenformeln machen. Immer im Dokument!!
Nächste mal lese ich besser. Aber im Eifer des Projektes ist es wohl untergegenagen.
"Ich wollte doch nur helfen".....
-
Hallo @All,
ich hatte befürchtet, dass es hierfür auch in LS keine Funktion gibt. In Excel wäre das alles kein Problem - aber da sind wir ja leider nicht.
Ich habe nun zwei Felder im Dokument hinzugefügt, in denen der minimale und der maximale Wert gespeichert werden. Im Postsave-Event habe ich dann ein kleines Script geschrieben, welches die Felder jeweils miteinander vergleicht und immer das kleinste/größte Datum in eine Variablen schreibt. Zum Schluss diese Variablen an die beiden neuen Felder übergeben und das war's.
Ich hatte zwar gehofft, dass es einfacher gehen würde, aber nun gut - es funktioniert. ;D
Danke nochmal an alle, die sich an der Diskussion beteiligt und eine Lösung gesucht haben.
-
In Excel wäre das alles kein Problem - aber da sind wir ja leider nicht
..wieso leider?? >:( ;)
Ich hatte zwar gehofft, dass es einfacher gehen würde,
..war es denn sooooo schwer ???
-
Also mit Notes 6 oder 7 wäre es gar kein Problem, denn dort gibt es die @Sort Funktion.
Die zusammen mit @Subset liefert alles - ein Einzeiler-
Aber mit so einer antiken* Version muss man eben auch Einschränkungen hinnehmen.
Andreas
* im Sinne der EDV Zeitrechnung ;)
-
@Glombi: @Sort und @Subset ? Warum nicht gleich @Max / @Min ?
Die wurden nämlich unter R6 auch geändert, so dass sie endlich das tun was man erwartet...
Unter R5 gab es die ja auch schon, allerdings dort recht sinnfrei...
Gruß
Tode
-
Na, wenn @Max und @Min auch mit Datumsfeldern gehen, dann natürlich die nehmen.
Allerdings sollte IBM mal die Designer Hilfe dazu anpassen, denn dort wird nur von "Number" geredet.
Andreas
-
nun ja... Datumsfelder sind Intern ja auch nur Nummern... und auch Strings lassen sich in Nummern umwandeln...
beide funktionieren auch mit @Max und @Min....
Gruß
Tode