Hallo!

Es ist richtig. Die Funktion für DB2 lautet ja "SUBSTR". Mit der habe ich es vor einiger Zeit und im aktuellen Problemfall auch schon probiert. Soll heißen, dass ich unter VB recordset.source = "... WHERE LEFT(...)" als auch "WHERE SUBSTR(Name as string, Pos as integer, Länge as integer)" probiert habe.

Bei beiden Varianten erhalte ich folgenden Fehler (Auszug): SQL0104 ungültiger Token bei dem ersten (bei Left) bzw. zweiten (bei SUBSTR) Komma bei den übergebenen Parametern.

Gebe ich beispielsweise den Teil des Statements jedoch so ein

SUBSTR(Name, '1', '3')

erhalte ich folgende Fehlermeldung:

SQL0171: Argument 2 der Funktion SUBSTRING ungültig.
Ursache....: Datenart, Länge oder Wert des Arguments 2 der Funktion SUBSTRING ist ungültig. Folgende Liste zeigt die Bedingungen für einige der Funktionen: -- SUBSTRING muss Argument 1 eine Zeichenfolge und Argument 2 und 3 müssen ganze Zahlen sein.

Damit wäre ich wieder bei meiner ersten Fehlermeldung, denn wenn ich nur ein oder beide Zahlenargumente ohne Hochkommata setze, erhalte ich wieder den ersten Fehler.

Du schreibst, dass Access einen "SQL-Translator" benutzt. Kann man den nicht irgendwie nutzen oder besteht nicht irgendwie die Möglichkeit, über einen anderen DB-Treiber zu gehen? Wäre auch super, wenn jemand bei sich beispielsweise über Excel ein SQL-Statement an seine AS400 abschicken könnte, um zu schauen, wie die Reaktion vom System ist. Auf Wunsch kann ich gerne ein VBA-Codefragment, welches das Problem umschreibt, mal zur Verfügung stellen.

In der Hoffnung auf weitere Antworten...

Michael