0

trim(string) mit Nummernfeld Probleme oder heist es anders bei Nummern?

Habe trim(string) vorher mit einem Textfeld benutzt (es waren Telefonnummern drinnen) nachdem ich den Feldtyp auf Nummer gewechselt habe funktioniert das Trim nicht mehr kann das Möglich sein. Gibt es da einen anderen Trick die Leertasten zu entfernen am Anfang, Ende oder in der Mitte einer Zahl.

Vielen Dank für Euren Tipp. mfg Claus

8 Antworten

null
    • Torsten_Stang.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo,

     

    wie wär's mit trim(text(Mitglieder.Telefon))??

     

    lg, Torsten

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Claus, trim() bezieht sich immer nur auf Strings. Bei Zahlenfeldern würde die Funktion keinen Sinn machen, weil Zahlen keine Leerzeichen enthalten. trim() entfernt allerdings nur Leerzeichen am Anfang und am Ende eines Strings. Wenn man alle Leerzeichen entfernen will, kann man das mit replace() machen:

     

    replace(TEXTFELD, " ", "")

     

    Nebenbei: Telefonnummern würde ich grundsätzlich nicht als Zahlen, sondern immer in Textfeldern speichern.

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Okay, der zweite Platz ist ja auch nicht schlecht. ;)

    • Torsten_Stang.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Naja, schnell ist ja nicht zwingend gut, insofern war Dein Beitrag wohl der hilfreichere... :-)

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Das möge Claus entscheiden. Jetzt hat er immerhin die Wahl. ;)

    • Claus.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für Eure schnellen Antworten. Torsten und Copytexter ihr seid Super!! Habe Trim benutzt.

    Coytexter@ Telefonnummern sind doch immer Zahlenfelder welchen Vorteil hat da Textfelder? bin Anfänger

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Na ja, Telefonnummern werden halt auf vielfältige Weise dargestellt, oft mit führenden Nullen und eben auch mit Sonder- und Leerzeichen. "+49 30 123 456 78", "(030) 123 456 78", "0172334455", "08922-777888-1" ... All diese Möglichkeiten nimmt man sich mit einem Zahlenfeld. Auch das schnelle Übernehmen solcher Daten per Import oder Copy and Paste wird schwieriger bis unmöglich. Und für formatierte Ausgaben am Bildschirm oder im Drucklayout muss man Zahlen erst wieder in Text umwandeln.

     

    Davon abgesehen besteht eine Telefonnummer im Kern zwar nur aus Ziffern, ist aber keine Zahl im eigentlichen Sinne. Als Faustregel gilt: Zahlenfelder nur für Werte, mit denen man sinnvolle mathematische Operationen vornehmen könnte. Das trifft auf Telefonnummern definitiv nicht zu (und auch nicht auf Post- und Bankleitzahlen, Kundennummern etc. pp). Es gibt also normalerweise keinen Grund, identifizierende Ziffernfolgen wie Telefonnummern u. ä. als numerische Werte zu speichern.

     

    Aber das ist natürlich nur eine Empfehlung, kein Gesetz. Kann also jeder machen, wie er/sie will. ;)

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ach so, nur der Vollständigkeit halber (vielleicht stößt jemand bei der Suche auf diesen Thread): Wenn man alle nicht- numerischen Zeichen aus einem Textfeld entfernen will, also Buchstaben, Leerzeichen, Klammern usw., dann bietet sich dafür replacex() an:

     

    replacex(Text, "\D", "")

     

    Und bei Bedarf lässt sich die so gewonnene Ziffernfolge dabei auch gleich in eine Zahl umwandeln:

     

    number(replacex(Text, "\D", ""))

     

    Bei manchen Daten, die man importiert hat oder so, kann das ja sinnvoll sein.