Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Cobi am 20.08.07 - 16:02:57
-
Hallo zusammen,
ich habe ein Feld: Menge vom Typ Zahl. Es soll von den Benutzern nicht geändert werden sondern nur durch klicken auf Hinzufügen erhöht werden können. Deshalb habe ich es auf berechnet gesetzt und dann hinter dem Button Hinzufügen folgenden Code:
@If(@IsDocBeingEdited;@SetField("Menge";Menge:=Menge+1);@Command([EditDocument]);
@SetField("Menge";Menge:=Menge+1);Menge);
Leider kommt die Meldung Falscher Datentyp oder Operator: text erwartet. Wie kann denn Text erwartet werden, wenn ich ein Zahlenfeld habe?
Sobald ich das Feld auf bearbeitbar setze funktioniert es einwandfrei.
Hoffe ihr könnt mir auf die Sprünge helfen, wäre super danke!
MfG
edit: achso ja und der Vorgabewert im Feld ist Menge.
-
Hat das Feld einen Startwert ? Wenn da nämlich nix drinsteht, dann kommt dieser Fehler.
-
als startwert steht sozusagen Menge drin.
habe es auch schon versucht mit @if(@isnewDoc;0;Menge) aber gleicher Fehler.
-
Wo ?
-
@SetField("Menge";@If(Menge != "";Menge+1;1))
-
Im feld Menge
-
@Glombi
Und was hast du als Wert für das berechnete Feld Menge genommen? Leider kommt trotzdem noch die Meldung :-(
-
In Vorgabewert: @If(@IsNewDoc;0;menge)
Button: @SetField("menge";menge:=menge+1)
-
Also so hatte ich es auch schon.
Funktioniert leider auch nicht. text wird immernoch erwartet. Habe es auch schon mit @Text(@SetField("Menge";Menge:=Menge+1)); versucht, aber sogar da kommt die Meldung. Kann das sein?
MfG
-
ist
@SetField("menge";menge:=menge+1)
nicht irgendwie doppelt gemoppelt ? Seit Notes 6 kann man auch in @if Ausdrücken ein "menge:=menge+1" schreiben und das ohne @setfield, @setfield benötigt man quasi gar nicht mehr und wenn dann lieber @setfield("menge"; menge + 1).
oder weiss ich da etwas nocht nicht ;)
bubble
ps: mach mal ein @text um menge+1
-
also es reicht ein:
Menge:=@text(Menge+1)
bubble
-
Also folgendes ist nun aufgetreten:
Wenn ein Dokument schon existiert und ich dann den Button drücke wird die Zahl wie gewünscht erhöht OHNE Fehler.
Wenn ich jedoch ein neues Anlege und auf den Button klicke, dann erscheint die Fehlermeldung....
So habe ich es nun gemacht: immerhin schon ein Fortschritt, aber wo steckt jetzt noch der kleine Fehler?
@If(@IsDocBeingEdited;@SetField("Menge";Menge+1);@Command([EditDocument]);@SetField("Menge";Menge+1);Menge);
-
Wenn du es so machst, wie in #7 bzw. #10 machst, dann funzt es.
PS:
was machst du eigentlich, wenn der User einmal zuviel klickt ?
-
Also wie gesagt, bei mir funzt es nur, wenn das Dokument schon existiert. Bei neuen leider nicht. Naja.
Der Benutzer kann nur einmal klicken, da das Dokument nach dem klicken gespeichert und geschlossen wird.
-
mach eine Formel:
@command([editDocument];"1");
Field Menge := @If(Menge != "";@toNumber(Menge)+1;1)
das muss gehen!
bubble
-
Super jetzt funktioniert es. Vielen Dank!