Hallo,
Achtung, jetzt kommt die scheußliche Variante als reine Abfrage, hier mit maximal 5 Elemente, die mit ~ getrennt sind (Tabelle und Feld in der innersten FROM-Klausel entsprechend ersetzen und als SQL in eine Abfrage kopieren). Ist einfach erweiterbar. - ich entschuldige mich jetzt schon dafür:
SELECT F1, F2, F3, F4, Mid([ts4],1, iif(InStr(1, [ts4],"~")-1>0, InStr(1, [ts4],"~")-1,9999) ) AS F5
FROM ( SELECT F1, F2, F3, ts3, Mid([ts3],1, iif(InStr(1, [ts3],"~")-1>0, InStr(1, [ts3],"~")-1,9999) ) AS F4, iif(InStr(1, [ts3],"~")-1>0,mid(ts3, InStr(1, [ts3],"~")+1),"") as ts4
FROM ( SELECT F1, F2, ts2, Mid([ts2],1, iif(InStr(1, [ts2],"~")-1>0, InStr(1, [ts2],"~")-1,9999) ) AS F3, iif(InStr(1, [ts2],"~")-1>0,mid(ts2, InStr(1, [ts2],"~")+1),"") as ts3
FROM ( SELECT F1, ts1, Mid([ts1],1, iif(InStr(1, [ts1],"~")-1>0, InStr(1, [ts1],"~")-1,9999) ) AS F2, iif(InStr(1, [ts1],"~")-1>0,mid(ts1, InStr(1, [ts1],"~")+1),"") as ts2
FROM ( SELECT Mid([ts0],1, iif(InStr(1, [ts0],"~")-1>0, InStr(1, [ts0],"~")-1,9999) ) AS F1, iif(InStr(1, [ts0],"~")-1>0,mid(ts0, InStr(1, [ts0],"~")+1),"") as ts1
FROM ( SELECT teststring as ts0 FROM splittest )
))));