Feldinhalte analysieren
Ich habe eine Adresstabelle. Die Dateen wurden von verschiedenen Quellen erstellt. Dadurch sind nichtg alle Postleitzahlen korrekt:
Ich habe z.B. in dem Feld die Werte:
73061 --> wäre ein korrektes PLZ Format
8822 --> wäre KEIN korrekte PLZ Format, da nur 4 stellig
CH-5566 --> wäre kein korrektes PLZ Format da hier das LKZ mit dabei ist
So und nun die Frage: Wie kann ich diese Felder analysieren und diese rausfiltern, die nicht korrekt sind.
Als nächstes möchte ich dann die PLZ mit einer API überprüfen, ob diese mit dem Ort übereinstimmen. Aber das erst im nöchsten Schritt...
1 Antwort
-
Hallo Wolfgang,
man kann dafür RegEx verwenden. Aber zuerst muss man die PLZ-Regeln für einzelnen Ländern festlegen. Du beschreibst hier z.B DE und CH. Welche Länder sind es noch, und wie werden diese in deiner Tabelle gekennzeichnet? Angenommen du hast ein Textfeld "Land" und dort sind die Länderkürzel nach ISO 3166-2 mit zwei Buchstaben abgebildet.
dann wäre die Formel für ein Funktionsfeld:
---let myLength := switch Land do
case "DE":
5
case "CH":
4
case "AU":
4
default:
5
end;
let myFlag :=length(PLZ) = myLength and testx(PLZ, "\d{" + myLength + "}") ;
color(if myFlag then "green" else "red" end)
---Die Formel legt zuerst je nach Land die zulässige Länge der PLZ fest und dann überprüft ob die Gesamtlänge stimmt und wenn JA dann ob es in der PLZ nur Zahlen rein geschrieben werden. Je nach Ergebnis wird das Feld grün oder rot eingefärbt.
Die überprüfung per API ist sicherlich interessant, würde ich aus Performace gründen nicht machen. Es gibt im Internet genug Tabellen mit PLZ für verschieden Länder. Es ist meiner Meinung nach viel einfacher die Tabellen runterzuladen und direkt im Ninox prüfen.Leo
Content aside
- vor 4 JahrenZuletzt aktiv
- 1Antworten
- 554Ansichten