Da Sie Ihre SQL's per ODBC verwenden, können Sie ggf. die nötigen Optimierungen nicht verfolgen.
Schauen Sie sich den, von Access, generierten SQL-Befehl an.
Prüfen Sie, ob Sie Indexe an Ihren Tabellen haben, die Ihren ORDER BY, GROUP BY oder WHERE-Bedingungen entsprechen.
Ist dies nicht der Fall, zwingen Sie die AS/400 zum temporären Aufbau eines Index, was dann entsprechend dauert und das System extrem belastet.

Sie können den SQL testen, indem Sie ihn auf der AS400 mittels STRSQL ausprobieren.
Starten Sie vorher mittels STRDBG die Testumgebung und betrachten Sie das Joblog.
Ggf. weist SQL Sie darauf hin, welche Indexe angelegt werden sollten.

Auch die "Wenn"-Funktion ist ggf. mit Vorsicht zu geniessen, es kann nämlich sein, daß diese Funktion von Access und nicht von der AS/400 ausgeführt wird.

Besonders ist in Access darauf zu achten, wenn Abfragen auf Abfragen gemacht werden.
Hier kann es vorkommen, daß die Basis-Abfrage alle Daten temporär in den PC lädt um dann das Ergebnis für die Abfrage zu verwenden.