Zahl formatieren nach "number"-Befehl
Ich habe wieder ein Problem bei dem ich trotz Ninox-Referenz und Durchforsten des Forums nicht weiterkomme.
In einem Textfeld generiere ich automatisch eine nächsthöhere Zahl als Laufnummer.
Dies funktioniert auch wunderbar. Jetzt möchte ich gerne mit einem letzten Befehl, dass die Zahl dreistellig dargestellt wird mit dem Befehl
format(Nummer, "000")
Leider erhalte ich eine Fehlermeldung.
Was mache ich falsch?
14 Antworten
-
Es hilft wenn du Fehlermeldung beschreibst. Maus über das rote Viereck, dann steht da was.
Aber ich denke, du hast die Variable Nummer nicht deklariert.
Probiere es mal so:
format(myID.Nummer,"000") -
Hallo Uwe
"Nummer" ist das Textfeld, das ich gerne formatieren möchte.
Hier noch die Fehlermeldung. -
Format funktioniert nur mit Zahlen, Datum, Uhrzeit, Termine nicht mit Strings.
Die erste Stelle in der Klammer muss also dem oben genannten Format entsprechen.
entweder mit number(myID.Nummer) oder du musst prüfen, ob myID.Nummer überhaupt Zahlen enthält. -
Wenn du Zugang zum deutschen Webinarteam hast, verweise ich mal auf die dortige Reference-DB
Da stehen ganz nette Sachen drin und ich nutze die DB auch sehr häufig als Nachschlagewerk oder um mir Inspiration durch die enthaltenen Beispiele zu holen.
-
Hallo ihr zwei
Vielen Dank schon mal für die rasche Hilfe.
Auf die Ninox-Referenz habe ich Zugriff und dort auch nachgeschlagen, aber scheinbar zu wenig genau gelesen.
planox. pro Ich habe es beim Trigger "Bei neuem Datensatz" hinterlegt. Dein Code funktioniert auch. Der Zähler zählt hoch. Aber die Formatierung klappt trotzdem nicht.
=> Zuvor habe ich das Feld von einem Text in ein Zahlenfeld umgewandelt.
Ich verstehe nicht warum er die Formatierung nicht zulässt. -
Mach mal ein alert(debugValueInfo(myID.Nummer)) um zu sehen welches Format und welchen Inhalt myID.Nummer hat.
-
Mit dem Code von planox.pro und dem Zahlenfeld kommt dieser alert.
-
Probiere mal
format(myID.number(Nummer),"000")
-
R.J. said:
=> Zuvor habe ich das Feld von einem Text in ein Zahlenfeld umgewandelt.Das verstehe ich nicht. Die Umwandlung findet ja in der "select"-Zeile durch das "number(Nummer)" statt. Zurückgegeben wird ein numerischer Wert, der um 1 erhöht werden kann. Das passiert aber nur temporär innerhalb des Skriptes, damit korrekt sortiert wird und um die mathematische Operation "+ 1" vornehmen zu können. Durch das format() wird es dann wieder in einen String umgewandelt und in das Textfeld 'Nummer' geschrieben. Ein Textfeld muss es sein, da sich die führenden Nullen sonst nicht darstellen lassen.
-
So, jetzt habe ich wieder ein Textfeld gemacht und es funktioniert!
Nochmals Danke euch.
Was würden wir machen, wenn es nicht so fleissige Forumsbeobachter gäbe wie ihr es seid?
Content aside
- Status Answered
- vor 2 JahrenZuletzt aktiv
- 14Antworten
- 144Ansichten
-
3
Folge bereits