Ich würd das in Skript machen.
Trennen in Blöcke.
zb:
Dim ret As Variant
dim teststr as string
Dim delim As String
teststr = "123 456 7A 890 123"
delim = " "
ret = split(teststr, delim)
For x = 0 to Ubound(ret)
ret(x) = Trim(ret(x)) ' SO EIN TRIM WÜRD ICH AUF JEDEN FALL EINBAUEN. Für die Leute, die aus Versehen 2 statt 1 Leerzeichen eingeben.
Print ret(x)
Next
a) Prüfe, ob Anzahl der Blöcke wie erwartet. (Ubound(ret)
b) Prüfe, ob in jeweiligen Block erwartete Anzahl an Zeichen (Len Funktion).
c) Prüfe ob richtige zeichen in den einzelnen Blöcken (müßt ich jetzt nachschlagen).
Habs in @function gemacht ::)
_value := feldName;
@If(@Right(@Left(_value;4);1) != " ";@Failure("Bitte geben sie die Nummer im richtigen Format ein");
@If(@Right(@Left(_value;8);1) != " " ;@Failure("Bitte geben sie die Nummer im richtigen Format ein");
@If(@Right(@Left(_value;11);1) != " ";@Failure("Bitte geben sie die Nummer im richtigen Format ein");
@If(@Right(@Left(_value;15);1) = " " ; @Success ; @Failure("Bitte geben sie die Nummer im richtigen Format ein")))));