Suche Split-Funktion für SQL-Abfrage

Hallo,
gibt es in Access einen Split-Befehl, mit dem ich in einer Abfrage in der SQL-Ansicht eine Zeichenkette bzw. den Inhalt eines Tabellenfeldes bis zum ersten Vorkommen eines bestimmten Zeichens abschneiden kann?

Bsp:
In der Tabelle steht
abc:def
gh:ijkl
mnop:qr

Und das Ergebnis dieses Befehles liefert mir dann:
abc
gh
mnop

Kennt irgendjemand diesen Befehl oder gibt es den gar nicht?

Hallo.

Kennt irgendjemand diesen Befehl oder gibt es den gar nicht?

Man kann sich mit der InStr -Funktion so etwas zusammennageln. InStr(start,durchsuchterstring,gesuchterstring) liefert die Position eines Zeichens oder Teilstrings in einem anderen String ab Startposition.

Z.B.
InStr(1,„Happy Birthday“,„y“) liefert eine 5.
InStr(6,„Happy Birthday“,„y“) liefert eine 14 (!).

Näheres auf weitere Anfrage.

Gruß Eillicht zu Vensre

Danke, es funktioniert

Man kann sich mit der InStr -Funktion so etwas
zusammennageln.
InStr(start,durchsuchterstring,gesuchterstring) liefert die
Position eines Zeichens oder Teilstrings in einem anderen
String ab Startposition.

Ja, so funktioniert es, wenn man diesen Befehl mit dem mid-Befehl ineinander schachtelt:

Mid(tbl_posteingang.Betreff,1,InStr(1, tbl_posteingang.Betreff, ‚:‘))

Danke und viele Grüße
Martin

Hallo Martin

Direkt geht das nicht aber über die beiden Funktion Teil und Instr kannst du das erstellen

das Abfrage(Sql) müßte dann so aussehen

„SELECT Tabelle1.ID, Mid([Tabelle1]![Text],InStr(1,[Tabelle1]![Text],“:")+1) AS Ausdr2, Tabelle1.Text
FROM Tabelle1;"

bitte beachte das da Ganze dann Accessspezifisch ist also kein standart Sql

Die Basic funktion Split Teilt normal einen Text in so viele unterteile wie oft das zeichen vorhanden ist deshalb macht macht das in einer Abfrage keinen sinn.

mfg Andreas