質問: アクセスvba テーブル名を変数とするクエリ実行・エクスポート テーブル x(フィールド1~30)を対象とするクエリ yがあります。 クエリ yは、フィールド1の値が bbbであるレコードの、フィールド3、5、7を抽出します。 クエリ yの実行結果をエクセルファイル zにエクスポートします。 xと同一の構成である x1~x10という複数のテーブルから一つを選択して、クエリyを実行し て、エクセルファイル zにエクスポートしたいのですが、vbaでは、どのように記述するのでしょうか? フォーム fのテキストボックス tに入力して、テーブルを指定(変数)したいのです。 上記が可能な場合、続けて zにエクスポートすることはできるのでしょうか? エクスポート用のテーブルを一時的に作成しなければならないのでしょうか? 説明下手で申し訳ございません。お手数ですが、ご教示ください。よろしくお願いします。
回答: > xと同一の構成である x1~x10という複数のテーブルから一つを選択して、クエリyを実行し > て、エクセルファイル zにエクスポートしたいのですが、vbaでは、どのように記述するのでしょうか? クエリx のsql文を変更してやればいいですね。 dim dbs as dao.database dim qrdef as dao.querydef set dbs = currentdb set qrdef = dbs.querydefs("クエリy") qrdef.sql = replace(expression:=qrdef.sql _ , find:="テーブルx" _ , replace:="テーブルx1" _ , compare:=vbtextcompare) set qrdef = nothing set dbs = nothing これで変更することができますのであとは、クエリx を transferspreadsheet メソッドを使ってエクスポートしてください。