たぶん、再統合して明確にする必要があります:) 元の質問の文脈では、答えは次のとおりです。ただし、両方のデータベースが Access であり、同じmdw を持っている場合 (後のコメントが示すように)、SQL/Query Builder を介して実行できます。その特定のシナリオでは、接続文字列を介してそれを実行することはできません (実行できません)。以下の手順 1 ~ 4 に従って実行し、手順 5a を 5b に置き換えます。
データベースが両方とも Access であり、mdw が異なる場合、異なるワークグループを指定する唯一の方法は、接続文字列を使用することです。ただし、接続文字列プロパティを介して接続しようとすると、SQL/Query Builder は ISAM エラーをスローします (以下の手順 5a)。そのため、クエリビルダーを介して行うことはできません。以前に投稿した私の例のように、ADO を使用して VBA で実行できます。
クエリ ビルダーの接続文字列プロパティはAccess以外のデータベース用であり、ソース データベースは mdw が同じ(またはない) Access データベース用であることに注意してください。異なるmdwsを持つ Access データベースの場合、私が認識している唯一の解決策は、以前に投稿した VBA の解決策です。
次に、接続文字列を SQL で直接使用する方法について説明します。これを行うことができます。ただし、いくつかの注意点があります。他の Access データベースでは機能しません。SQL サーバーの dbo テーブルを使用する場合は、クエリ ビルダーが生成する SQL を編集して「dbo」を削除する必要があります。プレフィックス。
最も簡単な方法は、私が言おうとしていることを説明することだと思います.
- 非アクセスデータベースへの有効な接続文字列を設定します。(エクセルファイルを使用するだけで、簡単にすることをお勧めします。)
- 文字列を取得したら、Access でクエリ ビルダーを開きます。
- テーブルの選択ダイアログを閉じます。
- Alt-Enter を押してクエリのプロパティを開きます。5a. 「Source Connect Str」に接続文字列を貼り付けます。*5b. 「ソース データベース」に他のデータベースへのパスを貼り付けます。
- 次に、テーブルを追加してクエリを作成します。
- SQL ビューに移動します。構築されたものを参照してください。
ただし、このアプローチは Access以外のデータベースでは有効ですが、 Access では機能しないため、ほとんど無関係です。(それは私が知っている少しイライラします。)
使用中の接続文字列の例:
SELECT [Sheet1$].F1
FROM [Sheet1$] IN '' [Excel 5.0;HDR=NO;IMEX=2;DATABASE=C:\Users\Oorang\Documents\Book1.xls];
OLE DB 接続文字列を IN データベース句に入れるのが有効な ACE/Jet 構文であるとは本当に思えません。
参考までに、上記のように接続文字列を使用しますが、Source Db プロパティを使用すると、以下のようになります:) (投稿する前にすべての例をテストしました:))
SELECT *
FROM Table1 IN 'C:\Users\Oorang\Documents\db2.mdb';