リンクされたテーブルはまったく必要ありません。リンクされたテーブルなしで使用できる異なる MDB からのデータを使用するには、2 つの方法があります。1 つ目は、SQL の FROM 句で "IN 'c:\MyDBs\Access.mdb'" を使用することです。保存したクエリの 1 つは次のようになります。
SELECT MyTable.*
FROM MyTable IN 'c:\MyDBs\Access.mdb'
他の保存されたクエリは次のようになります。
SELECT OtherTable.*
FROM OtherTable IN 'c:\MyDBs\Other.mdb'
これらのクエリを保存し、保存したクエリを使用して 2 つのテーブルを結合できます。
または、次のように FROM 句で各テーブルのソース MDB へのパスを指定することにより、単一の SQL ステートメントですべてを管理できます。
SELECT MyTable.ID, OtherTable.OtherField
FROM [c:\MyDBs\Access.mdb].MyTable
INNER JOIN [c:\MyDBs\Other.mdb].OtherTable ON MyTable.ID = OtherTable.ID
ただし、次の点に注意してください。
Jet クエリ オプティマイザーは、これらのテーブルのインデックスを結合に使用できるとは限りません (個々のフィールドの基準に使用するかどうかは別の問題です)。しかし、私はテストに大きなデータセットを使用していません)。ただし、そのパフォーマンスの問題は、リンクされたテーブルにも当てはまります。