Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TeeJay am 13.01.04 - 13:11:52
-
Hallo erstmal.
Ich habe folgendes Problem. Ich möchte 4 Felder einer Maske miteinander addieren. Die Felder werden ueber eine Picklist ausgefüllt, es sind also beim Aufruf der Maske keine Werte vorhanden.
ich habe jetzt ein Feld Summe angelegt in diesem Feld habe ich versucht die Felder zu addieren doch leider bekam ich eine Fehlermeldung.
FIELD preis1:= "preis1";
FIELD preis2:= "preis2";
FIELD preis3:= "preis3";
FIELD preis4:= "preis4";
sum:=@Sum(preis1 : preis2 : preis3 : preis4);
@SetField(summe;sum);
das ganze in einem berechneten Feld führt zu folgender Fehlermeldung.
der in setfield definierte Varname muss vor gebrauch deklariert werden.
würde mich freuen, wenn ihr mir da bei helfen könntet.
-
Der Feldname, den Du in der Variablen summe gespeichert hast, muss vorher deklariert werden. Ich denke aber eher, dass das sowieso ein Syntaxfehler von Dir ist, also denke ich mal, bei Dir fehlt
FIELD summe := summe;
HTH,
Bernhard
-
Warum setzt die Formel des berrechneten Feldes nicht einfach auf
@Sum ( preis1 : preis2 : preis3 : preis4 ) ?
Das ist doch wesentlich einfacher.... Ein @SetField benutzt man eigentlich, um z.B. von einem Aktionsbutton einen Feldwert zu verändern.
Alternativ könntest du auch diese Formel nehmen:
p1 := preis1;
p2:= preis2;
p3:= preis3;
p4:= preis4;
summe:= @Sum ( p1 : p2 : p3 : p4 );
summe
-
ich bekomme trotzdem eine fehlermeldung von wegen flaschem Datentyps vom Operator oder @Funktion : Zahl erwartet.
das komische ist das alle Felder vom Typ Zahl sind *gruebel*
p1 := preis1;
p2:= preis2;
p3:= preis3;
p4:= preis4;
summe:=@Sum ( p1 : p2 : p3 : p4 );
summe
so habe ich es jetzt in dem berechtneten Feld stehen.
-
Solange nichts eingetragen ist, bekommst Du auch von Zahlenfeldern einen Leerstring zurück, allso entweder prüfst Du den eingetragenen Wert auf Zahl oder sorgst (mit Vorgabewert zum Bleistift) dafür, dass die Felder gefüllt sind
-
Du könntest beispielsweise folgendes machen:
- Vorgabewert der Welt mit 0 belegen - dann musst da aber auch in der Eingabevalidierung auf Zahl prüfen
oder
- statt
p1 := preis1
nimmst Du
p1 := @If (@IsNumber (preis1); preis1; 0)
HTH,
Bernhard
-
Das hatte ich wiederum nicht bedacht... aber ist natürlich richtig... da war ja gestern schon mal ein Problem, was auch mit Zahlen zu tun hatte, aber eben mit Views...
-
ich habs jetzt mit den vorgabewerten gemacht ich habe alle null gesetzt so das bei dem Maskenaufruf 0 rauskommt. Wenn ich jetzt die Daten mit picklist hole verändert sich die Summe aber leider nicht, obwohl die Felder bei änderungen aktualisiert werden.
wieso geht das so nicht, alle felder sind zahlen und werden auch als solche gespeichert.
-
Wird Dir das richtige Ergebnis angezeigt, nachdem Du F9 gedrückt hast ?
-
watt bin ich bloed thx