Wie schon gesagt, das Design ist wichtig.
Wenn ich lokale Tabellen mit verknüpften Tabellen verarbeite, hast du wohl recht.

Was hindert mich denn daran, die Abfragen als Passthru-SQL's zu stricken ?
Das funktioniert auch mit Parametern, zwar nicht mehr mit Namen (automatisch aus Formularen/Berichten) aber durchaus performant.

Es funktioniert sogar gut, wenn ich verknüpfte Tabellen verbinde, wenn sie die gleiche Verbindung haben (DSN). Ich muss allerdings sehr gut aufpassen, bei der Verwendung der Verknüpfung.

Klar ist auch, wenn ich die RecordCount-Eigenschaft verwende (z.B. Fortschrittsanzeigen), dass dann die ganze Abfrage gepuffert wird.

Auch dabei kann ich mir mit SQL-Passthru sehr gut behelfen. RecordCount ist zwar dann immer -1, aber folgende Abfrage funktioniert ab V5R1 auch ganz gut:

with
xQRY as (select .... where ... group ...)
select xqry.*, count(*) from xQry
order by ....

Damit habe ich die Anzahl der Sätze als letztes Feld des Recordsets.

Ich habe bereits mehrere Access-Frondends zu DB2/400 und MSSQL-Server (auch gemischt in einer Anwendung) erstellt.
Der klare Vorteil ist die einfache Formular-/Berichtsgestaltung.
Die Nachteile mache ich halt mit Programmierung und Design wieder mehr als wett.

Das einzige, was mich stört(e), dass die MDB ständig wächst, selbst wenn man ausschließlich verknüpfte Tabellen verwendet.
Bei Access2003 kann ich allerdings die MDB beim Verlassen automatisch wieder komprimieren.