0

manuelle Feldeingabe und Ausweis Ergebnis

Liebe community,

ist es möglich, in ein feld die eingabe =10*10 zu machen und dann immer nur das ergebnis anzuzeige (ähnlich wie in excel)?

4 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Ja, wenn in einem Textfeld nur Zahlen und mathematische Operatoren stehen, lässt sich das mit eval() interpretieren und berechnen:

    eval(TEXTFELD, this)

    So eine Art Taschenrechner-Funktion, quasi. Die Funktion ist nicht offiziell dokumentiert. Das "this" steht hier für die Datensatz-ID.

    • Ninox-Professional
    • planoxpro
    • vor 2 Monaten
    • Gemeldet - anzeigen

    PS: Das Gleichheitszeichen kann bzw. muss man dabei allerdings weglassen. Sowas wie "(10*10+20)/5" würde aber funktionieren (Ergebnis: 24).

      • Wilfried_Hennen
      • vor 2 Monaten
      • Gemeldet - anzeigen

      d.h. ich habe ein feld mit dem feldtyp=text; benötige ich dann noch ein zweites feld für die taschenrechnerfunktion?

      • Ninox-Professional
      • planoxpro
      • vor 2 Monaten
      • Gemeldet - anzeigen

       Ja, ein Formelfeld, in das o. g. eval()-Formel eingetragen wird.

      Oder man erstellt in dem Textfeld mit der Berechnung einen Trigger "Nach Änderung" (zu finden in den erweiterten Feld-Optionen) mit folgendem Code:

      TEXTFELD := text(eval(TEXTFELD, this))
      

      Damit wird der Inhalt des Textfeldes mit der Berechnung durch deren Ergebnis ersetzt. Man benötigt dann kein zusätzliches Formelfeld, hat aber auch keinen Zugriff mehr auf die Zahlen, die man eingegeben hatte.

      Am besten, beide Varianten mal ausprobieren und schauen, welche für den speziellen Zweck besser geeignet ist.

Content aside

  • vor 2 MonatenZuletzt aktiv
  • 4Antworten
  • 26Ansichten
  • 2 Folge bereits