Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: Tode am 23.01.14 - 21:54:18

Titel: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Tode am 23.01.14 - 21:54:18
Würde mich mal interessieren, was Ihr "aus dem Bauch raus" sagen würdet... Bitte erst antworten, dann ausprobieren.

ist "" (also ein leeres Feld) kleiner als "5.10.10" oder grösser?
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: koehlerbv am 23.01.14 - 22:06:38
@function oder LotusScript?  ;D ;D

Bernhard
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Peter Klett am 23.01.14 - 22:50:38
Ich würde sagen, dass "", zumindest in Notes, größer ist als "5.10.10", denn wenn ich eine aufsteigend sortierbare Spalte in einer Ansicht habe, stehen die Dokumente mit leerem Wert unten, falls ich mich recht erinnere.
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: eknori am 23.01.14 - 22:58:05
Zitat
also ein leeres Feld
Feld = item??
Ein Item ist niemals LEER

Es ist auch nicht NULL; es kann nur not present sein, dann ist es aber definitiv nicht da ( ID Table enthält für das Item keinen Eintrag ). Wenn es present ist, dann hat es einen ID Table EIntrag. Die "Länge" des Item ist zwar 0 aber nicht nichts, weil die Sum(Länge der CD Records) grösser 0 ist.
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: koehlerbv am 23.01.14 - 23:11:57
Es gilt immer "Feld <> Item", Ulrich. Alle drei (Feld im UI, In-Memory-Item und On-Disk-Item) können ja zudem jeweils unterschiedliche Werte haben.

Ich denke aber, Torsten zielt auf Item ab. Das verspricht wieder einen sehr interessanten gemeinsamen Bürotag morgen  ;) Bei sowas laufen wir immer zur Höchstform auf (und treiben "Jugend forscht - weiter!"  ;D).

Witzig auch, dass ich gerade heute eine ähnliche Diskussion bei einem Kunden hatte über das seltsame Sortierverhalten von Notes, das zwar logisch, aber doch "gewöhnungsbedürftig" ist. Das betrifft ja exakt das gleiche Feld.

Bernhard

PS: Als Torsten und ich uns heute gegen 17:45 Uhr getrennt haben, hatte er das Thema noch nicht auf dem Tableau, ich bin also (momentan) noch auf dem gleichen Erkenntnisstand wie alle anderen hier.
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: eknori am 23.01.14 - 23:20:35
Zitat
(Feld im UI, In-Memory-Item und On-Disk-Item)

Feld ... FEld ?? FELD??  ;D
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: koehlerbv am 23.01.14 - 23:29:58
Bier? EC in GE?  ;)
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Glombi am 24.01.14 - 07:45:34
Liegt die Datenbank auf einem europäischen oder afrikanischen Server  ???  8)
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Klafu am 24.01.14 - 08:38:48
Spontan stimme ich Peter zu. Als Begründung könnte man auch sagen, dass nichts ("") größer ist als alles andere  ;D
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Tode am 24.01.14 - 08:45:02
Die Datenbank liegt lokal auf meinem deutschen Windows...

Und: "Feld" habe ich tatsächlich bewusst gewählt, es handelt sich nämlich tatsächlich um ein Feld in der Maske, das im geöffneten Dokument vorhanden, aber eben leer ist (Document Properties zeigen genau das an...)

ABER: Die Frage ist vollkommen unabhängig davon, wo der Leerstring herkommt. Einfach obiges Beispiel in das Subject- Feld einer Mail schreiben und Shift + F9 drücken... selbes Ergebnis (bei mir)

@Peter: Du hast mich gerade extrem verblüfft... Ich hätte WETTEN können (und Bernhard neben mir auch), dass das anders ist... Aber ich habe es geprüft, und Du hast recht...
Kann es sein, dass sich das in irgendeiner Version geändert hat?

Schön, dass sich über eine so simple Formel eine so angeregte Diskussion entwickelt... ;)
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Klafu am 24.01.14 - 08:59:11
Da es hier ja im Notes 9 Bereich steht...
In Notes 8.5.1 war es auf jeden Fall schon so
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Peter Klett am 24.01.14 - 09:45:00
Ich arbeite sehr viel mit sortierbaren Spalten (und spare damit etliche Ansichten). Erwartet hätte ich ursprünglich auch, dass die leeren oben stehen, aber wenn man da zwei - dreimal in die falsche Richtung gescrollt hat, hinterlässt das Spuren zwischen den Ohren...

Aus der Sichtweise finde ich es eigentlich auch korrekt. Wenn ich eine Spalte sortiere, um alle Dokumente mit dem gleichen Wert zu sehen, interessieren mich die leeren auch nicht wirklich (außer ich will expliziet die leeren sehen).
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Peter Klett am 24.01.14 - 09:56:41
Zu der Frage, ob sich das in einer der letzten Versionen geändert hat:

Auf meiner Platte schlummert noch ein 4.6.6b vom 18. November 1999, der ließ sich sogar starten. (Unglaublich, was sich inzwischen alles geändert hat. Auch der Designer kommt mir vor, als wäre das eine völlig andere Software ...)

Aber: Auch dort werden leere Werte in einer sortierten Ansicht unten angezeigt, bzw. nach oben, wenn man absteigend sortiert. Also, kein Unterschied zwischen 4.6.6 und 8.5.3 oder höher. Das ist Qualität !!
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Glombi am 24.01.14 - 09:58:26
Also, kein Unterschied zwischen 4.6.6 und 8.5.3 oder höher. Das ist Qualität !!
Nein, Stillstand! ;-)
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Tode am 24.01.14 - 10:09:25
Danke für den Check! scheinbar habe ich das noch nie "bewusst" wahrgenommen... Sehr interessant...
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Peter Klett am 24.01.14 - 10:49:53
Also, kein Unterschied zwischen 4.6.6 und 8.5.3 oder höher. Das ist Qualität !!
Nein, Stillstand! ;-)
Sorry, auch wenn es spaßig gemeint ist, kann ich das so nicht stehen lassen. Das ist einer der größten Vorzüge von Notes, dass man eben nicht nach jedem kleineren oder größere Release von vorne mit der Programmierung anfangen muss, weil nichts mehr zusammen passt.

Natürlich könnte man als Dienstleister so noch mehr Geld verdienen. Oder aber auch gerade deshalb nicht, weil das dann keiner mehr haben oder bezahlen will. Und dann würden alle immer noch mit uralten Versionen arbeiten, weil der Wechsel zu teuer ist. Das wäre dann Stillstand!
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Tode am 24.01.14 - 11:43:48
Jetzt würde es mich aber mal interessieren: Wer von Euch hätte (wie ich) gedacht, dass "" kleiner ist als "irgendeinstring", wer hat es gewusst, dass es nicht so ist, und wer hätte genauso sortiert wie Notes?
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Glombi am 24.01.14 - 11:57:05
Jetzt würde es mich aber mal interessieren: Wer von Euch hätte (wie ich) gedacht, dass "" kleiner ist als "irgendeinstring", wer hat es gewusst, dass es nicht so ist, und wer hätte genauso sortiert wie Notes?
Ich hätte es nicht gedacht.
Bis jetzt habe ich aber auch noch nie zwei Strings mit < > verglichen... Wozu auch?

Dass Notes "" in sortierten Spalten eben so wie oben beschrieben anzeigt, finde ich hingegen störend. Aber wegen Stillstand wird es wohl auch so bleiben.  ;D

Andreas
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: smokyly am 24.01.14 - 11:57:38
Oracle scheint sich bei Null-Werten mit Notes einig zu sein, wenn es um die Sortierung geht.
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Peter Klett am 24.01.14 - 12:41:16
Nach meinem Verständnis ist nichts auch weniger als etwas, sonst könnte man bei der nächsten Rechnung einfach nichts bezahlen und, da nichts mehr ist als etwas, um die Rückzahlung der versehentlich zuviel gezahlten Differenz bitten.

"" ist für mich nichts und "abc" ist etwas, also deckt sich meine Erwartung mit der von Torsten.

Zum Thema Verwendung von Textvergleich mit < oder >:

Angenommen ich habe verschiedene Dokumente mit jeweils einem dieser Stati (z.B. Risiko)

Gering|1
Mittel|2
Hoch|3

Der Alias wird im Dokument als Text gespeichert. Nun will ich wissen, wie hoch das Risiko aller Dokumente zusammen ist (das höchste Risiko gewinnt), dann vergleiche ich natürlich Text ("1" < "2") und spare mir die Umwandlung von Text in eine Zahl (der Alias könnte genausogut "a", "b" und "c" sein).

Selbstverständlich würde ich erwarten, dass dann ein nicht angegebenes Risiko kleiner als "Gering" ist. Dass mir das bisher nicht auf die Füße gefallen ist, liegt wohl daran, dass entweder dafür gesorgt wird, dass immer ein Wert angegeben ist, oder leer expliziet überprüft bzw. ausgeschlossen wird. Werde ich bei zukünftigen Entwicklungen mal drauf achten ...

Auf jeden Fall halte ich einen Textvergleich mit < oder> nicht für absurd, sonst könnte ich auch nie Text sortieren.
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: MacSpudik am 24.01.14 - 13:17:13
Ich bin als Admin da in einer Bestellschein DB drübergestolpert.
Auch hier hat es mich einst ziemlich verwirrt (von den Anwendern ganz zu schweigen), dass ein quasi "kostet nichts" (leeres Feld, warum auch immer, also irgendwie systembedingt  :-\ ) in der Ansichtssortierung höher eingeordnet war, als die größten Werte, sprich teuersten Einträge.
Mit der Zeit gewöhnt man sich an alles und wie Peter es geschrieben hat, man merkt es sich einfach ::)

In manchen Situationen ist es auch recht hilfreich, so z.B. in der BestellDB. Denn man sucht ja eher nach den teuersten Objekten, als nach den günstigsten, wenn man mal nach Kosten sortiert und so stößt man direkt auf "Unfug-Dokumente"  ;D

Grüße von
Sebastian
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: koehlerbv am 24.01.14 - 13:35:55
Ein Witz ist auch der Fakt, daß LotusScript in einem Vergleich wie im Threadtitel eine ganz andere Aussage trifft ...

Bernhard
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Tode am 24.01.14 - 14:29:59
Also ich hatte den Vergleich für folgendes Beispiel gebraucht: Wir speichern die aktuelle Version der Datenbank in einem Textfeld in der Form "01.22.23"
Nun passe ich gerade eine Maske an, die wissen muss, ob Sie schon "migriert" wurde... Also frage ich: Ist die Version < als eine bestimmte Version, dann tue x / y...

Und in "ganz alten" Dokumenten ist das Versionsfeld halt nicht gefüllt, so dass es zum Vergleich "" mit "01.22.33" kommt...

Ja, ich könnte das Ganze numerisch speichern, oder umwandeln, etc. etc. aber so ist es nun halt... Aus einem bisher rein "informativen" Feld wird nun ein "funktionales" (update der Version),
und da muss ich halt nehmen, was ich habe...
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Peter Klett am 24.01.14 - 15:16:50
Du könntest den Vergleich mit einem Replace absichern. Sinngemäß in Formel so

@If (@Replace (alteVersion; ""; "0") < neueVersion; @TuWas, @TuNix)

Damit ersetzt Du einen leeren Wert durch einen definitiv kleineren.

Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: pram am 24.01.14 - 21:05:15
Wo wir schon dabei sind, was ergibt
Code
Replace("Hallo Welt!", "", "")
Gruß
Roland
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: koehlerbv am 24.01.14 - 21:12:50
Wäre DAS jetzt wieder Formelsprache gewesen, könnte man sagen: Nichts ist in allem, und alles ist mehr als alles andere (was dann wieder den Vergleich erklären würde)  ;D

Bernhard
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: pram am 24.01.14 - 21:28:41
Ja mit dieser Argumentation ist es dann sogar wieder logisch:
Wenn nichts in allem ist, dann wird alles durch nichts ersetzt. Somit bleibt nichts über (was auch das Ergebnis ist, wenn man dies auch nicht erwartet)
Wobei sich @Replacesubstring hier wieder anders verhält

Gruß
Roland
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: koehlerbv am 24.01.14 - 22:00:26
Neben der Philosophiererei bleibt aber: @functions <> LotusScript. Manchmal. Üble Fallen ...

Bernhard
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: pram am 24.01.14 - 22:34:40
Und  @Functions <> @SSJS-Functions.
Hier gibt es noch üblere Fallen, weil viele Funktionen nicht mit Mehrfachwerten korrekt umgehen wie man es gewohnt ist.

Gruß Roland
Titel: Re: Kleines Rätsel (erst raten, dann probieren): "" < "5.10.10"
Beitrag von: Tode am 25.01.14 - 00:33:49
@Roland: Replace("Hallo Welt!", "", "") ist wirklich fies... Da bin ich auch schon drüber gestolpert... Besonders, wenn man einer solchen Funktion Variablen übergibt (z.B. Um Platzhalter im Text zu ersetzen) und einfach keine Platzhalter definiert sind, die es zu ersetzen gibt... Dann bekommt man nämlich nicht den Ursprungstext, sondern schlicht nix zurück... Deshalb habe ich in allen Funktionen, die Replace verwenden, zumindest EINEN dummy- wert drin, der mit sich selbst ersetzt wird...