0

replace Funktion Berechnungsfeld

Hallo Zusammen,

ich habe ein Berechnungsfeld wo ich mehrer Daten aus verschiedenen Feldern zusammenfüge.

Ein Feld ist ein Zahlenfeld 'Breite' mit einer Stelle nach dem Komma z.B. 1,5  

Allerdings möchte ich in dem Berechnungsfeld statt dem Komma eine Punkt angezeigt bekommen.  Leider komme ich mit dieser Formel nicht weiter replace('Breite', ",", ".") 

Über Hilfe würde ich mich sehr freuen.

Danke & liebe Grüße, Antje

8 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 3 JahrenWed, April 20, 2022 at 3:50 PM UTC
    • Gemeldet - anzeigen

    Hallo Antje, replace() funktioniert nur mit Textfeldern. Du müsstest die Zahl also vorher mit text() in einen solchen umwandeln:

    replace(text(Breite), ",", ".")
    
    • rainless
    • vor 3 JahrenWed, April 20, 2022 at 5:11 PM UTC
    • Gemeldet - anzeigen

    Hallo Antje,

    in einem Berechnungsfeld hast du die Möglichkeit den Wert zu formatieren:

    Wenn Du auf "Zahlenformat" klickst, kannst Du Dein gewünschtes Format zusammenstellen. Über Dezimaltrennzeichen kannst Du hier auch einen . statt eines , auswählen.

    • juwelen
    • vor 3 JahrenWed, April 20, 2022 at 8:48 PM UTC
    • Gemeldet - anzeigen

    Hallo Planox, hallo Lars,

    danke für die Hilfe. Bezüglich der Formatierung, das hatte ich schon versucht. Das funktioniert leider nicht. Die Zusammenstellung im Berechnungsfeld sieht final so aus 1.1.5.585.2  (aktuell so 1.1,5.585.2)  einen Art Artikel Nummer aus verschiedene Faktoren. Ich werde am besten den Weg über das Textfeld gehen. 

    Vielen Dank für Eure Hilfe und einen schönen Abend

    Antje

    • juwelen
    • vor 3 JahrenThu, April 21, 2022 at 7:38 AM UTC
    • Gemeldet - anzeigen

    Hallo Zusammen,

    ich habe doch noch eine Frage. Ist es möglich mit der replace Funktion zwei Werte zu ersetzen?

    Habe jetzt alle möglichen Varianten probiert und komme leider zu keinem Ergebnis. 

    Ausgangsfeld Zahlenfeld (Breite) : 1,5 mm

    Zielfeld Textfeld: 1.5

    Im Zahlenfeld möchte ich die Formel bei Trigger nach Änderung hinterlegen.

    Textfeld := replace(text(Breite), ",", ".");
    Textfeld := replace(text(Breite), "mm", "")
    

    Leider klappt diese Variante nicht. Über Vorschläge würde ich mich sehr freuen.

      • Leonid_Semik.2
      • vor 3 JahrenThu, April 21, 2022 at 7:52 AM UTC
      • Gemeldet - anzeigen

      Hallo Antje,
      versuche es so:
       

      var temp := replace(text(Breite), ",", ".");
      temp := replace(temp), "mm", "");
      Textfeld:=temp
      

      Leo

      • rainless
      • vor 3 JahrenThu, April 21, 2022 at 11:52 AM UTC
      • Gemeldet - anzeigen

      juwelen Nur zur Info: Dein Ansatz ist durchaus richtig. Allerdings müsstest Du in der zweiten Zeile anstatt "Breite" "Textfeld" einsetzen - dann geht's. "Breite" wird ja in der ersten Zeile nicht verändert.

    • mirko3
    • vor 3 JahrenThu, April 21, 2022 at 8:48 AM UTC
    • Gemeldet - anzeigen

    Das müßte auch reichen:

    Textfeld := format(Breite, "0.0#.#")
    
    • juwelen
    • vor 3 JahrenThu, April 21, 2022 at 12:16 PM UTC
    • Gemeldet - anzeigen

    Hallo Zusammnen,

    danke für die schnelle Hilfe. In dem Fall würde ich sagen, es führen viele Wege nach Rom. 😉

    Es funktionieren alle Vorschläge. 🙂

    Danke nochmal an Euch und einen schönen Tag

    Antje