Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Hans Joachim am 06.06.06 - 15:33:17
-
Hallo,
ich habe ein kleine Frage.
Ich habe in einer Maske 3 Felder (Bearbeitbar, Typ=Zahl).
Nun habe ich ein viertes Feld (Berechnend, Typ = Zahl), in welches ich die Werte, die in Feld 1 bis 3 drinnstehen, addiert haben möchte.
In das Formelfenster des vierten Feldes habe ich nun folgende Formel eingetragen:
@GetField("Field_1") + @GetField("Field_2") +@GetField("Field_3")
Das Feld bleibt aber immer leer, obwohl in den Feldern 1 bis 3 ein Wert eingetragen ist.
An was könnte das liegen? Ist die Formel falsch???
Danke für eure Hilfe
-
Wie wär's den mit: Field_1+Field_2+Field_3
Viele Grüße Joe
-
Danke.
So ist es wahrscheinlich richtig. Habe ich auch schon ausprobiert aber Feld 4 bleibt trotzdem leer. Ich habe wohl woanders meinen Fehler.
Danke für deine Hilfe.
-
Ist das Feld 4 denn berechnet oder berechnet zur Anzeige?
-
Feld_4 ist berechnet.
Ich mache es nun auf diese Art: Field_1+Field_2+Field_3
Immer, wenn ich das angelegte Dokument in der Ansicht öffnen will, erscheint die Fehlermeldung:
"Feld: 'Feld_4' : Falscher Datentyp für Operator oder @Funktion: Zahl erwartet.
Feld_1 bis Feld_4 sind aber vom Typ Zahl. In der Ansicht ist die Spalte, welche den Feldinhalt von Feld_4 anzeigt auch vom Typ Zahl.
-
Nur mal so in's Blaue gefragt:
Kann es sein, dass, wenn die Fehlermeldung auftaucht, eines der Felder leer ist?
Axel
-
Drück doch mal nach Eingabe der Werte F9. Dann wird der Wert in Feld 4 neu berechnet. Das muss klappen.
-
Drück doch mal nach Eingabe der Werte F9. Dann wird der Wert in Feld 4 neu berechnet. Das muss klappen.
... aber nur wenn alle Felder, die addiert werden sollen ausgefüllt sind.
In einem neuen Dokument sind auch Zahlenfelder erstmal vom Typ Text. Erst wenn sie befüllt werden bekommen sie den richtigen Typ.
Axel
-
Hallo,
der beschriebene Fehler taucht auf, wenn Zahlenfelder mit leerem Inhalt berechnet werden sollen, denn Leer ist nicht Zahl.
Es gilt:
Alle Eingaben sind bis zur aktualisierung von Typ Text, somit müssen alle Felder die Wert aus einem Zahlenfeld holen und berechnen eine Abfrage auf NULL haben das dann als 0 berechnet wird oder aber die Zahlenfelder haben 0 oder einen ähnlichen Wert als Vorgabewert.
-
Also muss die Formel heißen: @If (Field_1="";0;Field_1)+@If (Field_2="";0;Field_2)+@If (Field_3="";0;Field_3)
Dann dürfte alles im grünen Bereich sein!
-
Nein.
Denn, wenn im Feld eine Zahl enthalten ist, knallts bei der Abfrage auf eine leere Zeichenkette.
Das Ganze muss so aussehen:
@If(!@IsNull(Zahl1); Zahl1; 0) + @If(!@IsNull(Zahl2); Zahl2; 0) + @If(!@IsNull(Zahl3); Zahl3; 0);
Axel
-
@Axel,
das funktioniert bei mir aber prächtig. Ich benutze das schon seit Version 4, @IsNull gibt es doch erst seit 6.
-
Ich habe deine Formel bei mir getestet und es hat nicht funktioniert.
Fehlermeldung:
Falscher Datentyp für Operator oder @Funktion: Text erwartet.
Ist ja auch logisch. Ich kann bei einer Zahl nicht auf eine Zeichenkette testen. Mag sein, dass die Version noch grosszügiger in der Beziehung war. Lege die mal unter Version 6 eine neuen DB an und versuch's dort mal.
@IsNull gibt es doch erst seit 6.
Das Ganze lässt sich auch mit @IsNumber machen.
Axel
-
Stimmt, mit @IsNumber geht es natürlich auch.
Ich habe eben eine neue Datenbank in Version 6 angelegt, eine Maske mit den Zahlfeldern 1-4 erstellt und das berechnete Feld 4 mit der Formel versehen, Zahlen in Feld 1 und 3 eingegeben, F9 gedrückt -> Ergebnis in Feld 4 ohne meckern. Komisch, oder? Aber egal, Hauptsache es hat Hans Joachim weitergeholfen! ;)
-
Ohne Abfrage ginge es unter 6 auch so:
@ToNumber(Field_1) + @ToNumber(Field_2) + @ToNumber(Field_3) ,
da @ToNumber("") = 0 ist.
mfg
Kjeld
-
Super!!! :)
Dank eurer Hilfe funktioniert es nun bei mir. Was täte ich nur ohne euch ;D!!!