Wie stellst du dir denn die "unmögliche"
SQL-Anweisung vor? So etwa?
Select * From SQLSERVER..Tabelle1 Join ACCESS..Tabelle2 ....
Wenn Die Anzahl der Eigenschaften aus z.B.
Access limitiert ist, dann kannst du dir die Filterkriterien aus
Access ziehen und die Tabelle im
SQL-Server über den 'IN' Operator rausholen. Dazu bastelst Du dir einen (vielleicht ziemlich langen) String, der die einzelnen Items durch Komma getrennt enthält (so: s := '1,2,3,4') und bepselst ihn dann in deine
SQL-Anweisung mit Format:
MySelect := Format ('Select * From SQLServerTabelle Where Field in (%s)',[s]);
Das ergibt dann die Anweisung
Select * From SQLServerTabelle Where Field in (1,2,3,4)
Wobei die '1,2,3,4' ja aus der
Access-Tabelle kommen.
Wenn allerdings die
Access-Tabelle vom
SQL-Server aus sichtbar ist, dann lies mal in der
SQL-Server Hilfe über 'OPENROWSET' nach, denn das öffnet eine externe Tabelle per
ADO. Dieses OPENROWSET liefert quasi eine Tabelle, mit der Du dann ganz normal auf dem
SQL-Server arbeiten kannst, so etwa:
SQL-Code:
Select *
from OPENROWSET (...) alias MyAccessTable
Join MyTable
on MyAccessTable.AccessField = MyTable.MSDEField