Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: werner16 am 25.05.11 - 09:06:42
-
Hallo,
habe ein kleine Problem mit der 'Absatz verbergen, wenn Formel wahr ist' Funktion.
In einer Messe/Austellungs DB sollen die Mitarbeiter für bestimmte Tage und Uhrzeiten
Tische reservieren können.
Dazu wird pro Messe und Tag ein Dokument angelegt indem die Anzahl der zur
Verfügung stehenden Tische angegeben wird.
Je nach dieser Anzahl werden über die 'Absatz verbergen, wenn Formel wahr ist'
Funktion Teile der Maske für die Reservierungen angezeigt.
So weit so gut, über die Formel: '@If(anz_tische>="X")=0 (wobei X die Tischnummer ist)
funktioniert das ganze bis Tisch Nr. 9.
Ab Tisch Nr. 10 fällt das ganze aber auf die Schnauze da
@If(anz_tische>="10")=0 gleich interpretiert wird wie @If(anz_tische>="1")=0
Übersehe ich etwas?
Gruß,
Werner
-
Übersehe ich etwas?
Ja! Deine @If-Formel stimmt hinten und vorne nicht. Und Du versuchst, mit einem String zu vergleichen, das funktioniert anders als bei Zahlen.
-
Hallo,
Was soll wan ausgeblendet werden?
Und wie marschul (Marco) schon schrieb, Zahlenvergleiche durchzufuehren mit als String abgelegten Zahlen ist nun nicht so sinnvoll.
Warum hast Du die Anzahl denn nicht gleich als Zahl definiert?
Andreas
-
Hallo,
ja danke das ist der Fehler.
Liegt daran das ich die Auswahl der Tische über eine Dialogliste mache,
sodass nur Vorgabewerte eingetragen werden können (z.B. von 0 - 20).
Kann ich die Dialoglist so konfigurieren das die Werte als Zahl und nicht als String
deklariert werden?
Gruß,
Werner
-
Noch was, bei einem Zahlenwert fehlt mir die Option 'Felder bei Schlüsselwortänderung aktualisieren' auch !
Gruß,
Werner
-
Dann musst Du halt bei Deinem Vergleich
nz_tische >= @ToNumber( Tischnummer ) schreiben.
Denn sonst gilt folgende Sortierung:
1
10
100
11
12
13
...
2
20
3
4
5
6
7
8
9
-
... dann mach doch unter Deinem Dialoglistenfeld (Text) ein verborgenes, mit @ToNumber berechnetes Zahlenfeld, auf das Du Deine Verborgen-Formel dann beziehen lässt.
hth
Thomas
-
> ... dann mach doch unter Deinem Dialoglistenfeld (Text) ein verborgenes, mit
>@ToNumber berechnetes Zahlenfeld, auf das Du Deine Verborgen-Formel dann beziehen
>lässt.
Hi,
auf genau diese Lösung bin ich jetzt auch gekommen, vielen Dank aber für den Hinweis.
Warum muss bei Notes immer nur so viel getrickst werden! ???
Gruß,
Werner
-
Hallo,
Warum immer nur Notes?
In anderen Programmiersprachen ist es ebenfalls nicht so ohne weiteres moeglich Zahlen mit Zahlen als String zu vergleichen.
Andreas
-
Da shat überhaupt nichts mit "tricksen" zu tun: Wenn Du Zahlen in ein Text- Feld schreibst (und alle Listen / AUswahl / Dialogfelder sind nun mal text), dann werden diese auch als Text verglichen.
OK, es wäre schön, Listenfelder zu haben, die tatsächlich Zahlen zurückliefern, aber diese kleine Hürde ist wohl für jeden zu nehmen (es sei denn, Deine Werte sind dezimal, da wird es dann in internationalen Firmen interessant).
-
Warum immer nur Notes?
In anderen Programmiersprachen ist es ebenfalls nicht so ohne weiteres moeglich Zahlen mit Zahlen als String zu vergleichen.
Danke Andreas, Du sprichst mir aus der Seele!
Im übrigen will ich auch mit keinem System arbeiten, das annimmt, ein Text wäre eine Zahl und vergleicht dann meinen Text als Zahl. Programmierung hat auch etwas mit Präzision zu tun, und Systeme, die so gebaut werden, dass sie von der Ungenauigkeit der Entwickler ausgehen, sollte man generell meiden.
Es gilt immer noch: Shit in - shit out
(Habe mich erst gestern wieder über OpenOffice aufgeregt, das meinte, meine getippten Zahlen in einer Tabelle verbessern zu müssen, da musste ich erst wieder lange suchen, um den Haken zu finden, an dem man das ausschalten kann. Wer so einen Scheiß baut ..., als wenn die Welt nur noch voll von Idioten wäre, die von allwissender Software korrigiert werden muss, aber wahrscheinlich sind wir nicht mehr weit davon entfernt)
-
Hi.
es geht mir nicht um Zahlen in Text zu wandeln oder zu vergleichen, das ist ja
a) in jeder Programmiersprache so
b) durchaus sinnvoll
Das Tricksen bezog sich darauf das ich in einer Dialogliste keine Zahlen hinterlegen
kann sondern nur Strings, und das ich in Zahlenfeldern kein 'Felder bei Schlüsselwortänderung aktualisieren' hinterlegen kann.
Gruß,
Werner
-
..., und das ich in Zahlenfeldern kein 'Felder bei Schlüsselwortänderung aktualisieren' hinterlegen kann.
Das geht auch nicht bei Textfeldern, sondern nur bei Dialoglisten u.ä.
Die Hide-When-Formeln würde ich mit @TextToNumber rechnen, da brauchst Du kein separates Zahlenfeld, das sich aus der Dialogliste rechnet. Finde ich eh nicht so prickelnd, denn dann hast Du die gleiche Information über ein und denselben Zustand doppelt, einmal als Zahl und einmal als Text. Spätestens, wenn Du per Agent vorhandene Dokumente manipulierst oder neue Dokumente erstellst, wirst Du Dich dafür hassen, 2 Felder genommen zu haben, denn das macht die ganze Sache viel unübersichtlicher und fehleranfälliger.
-
> Die Hide-When-Formeln würde ich mit @TextToNumber rechnen ...
@Peter: Kling vernünftig, danke.
Gruß,
Werner