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 2 Jahren
    • 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 2 Jahren
    • 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 2 Jahren
    • 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 2 Jahren
    • 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 2 Jahren
      • Gemeldet - anzeigen

      Hallo Antje,
      versuche es so:
       

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

      Leo

      • rainless
      • vor 2 Jahren
      • 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 2 Jahren
    • Gemeldet - anzeigen

    Das müßte auch reichen:

    Textfeld := format(Breite, "0.0#.#")
    
    • juwelen
    • vor 2 Jahren
    • 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

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 8Antworten
  • 95Ansichten
  • 4 Folge bereits