• 締切済み

Excel マクロでアクセスQueryを操作

現在エクセル マクロでADO.Connectionを使いアクセスのデータベースからデータを取り込み、そしてエクセル側で条件に合う検索やマッチングをしているのですが、その検索やマッチングをアクセスのクエリ等を利用してアクセス側で自動的に検索及びマッチング結果を用いたテーブルを作り、それからエクセル側にインポートする方法はないのでしょうか? 

みんなの回答

回答No.1

SQLでSelectしてはいかがでしょうか? 下記のURLを参照してみてください。 Accessのクエリを作成してSQLビューで見てみると SQL文が表示されますのでそれをコピペするとか (この方法は試した事がないので動作保障しかねますけど)

参考URL:
http://www.geocities.jp/shotanajp/DBLink.html

関連するQ&A

  • エクセルのマクロでアクセスのクエリ結果をコピーしたい

    アクセスのクエリ結果をエクセルで編集しているのですが、エクセル側から マクロを登録したボタンをクリックすると、クエリ結果がエクセルにコピー されるようにしたいのです。 アクセスは中身を変更してはいけないということなので、エクセルから自動で コピーできる方法があれば、と思い質問しました。 アクセスは、最初に検索用のフォームに条件を入力して、結果を違うフォームに 表示させています。 現在は結果が出たところでデータベースウィンドウを表示させ、該当するクエリ を開いてそれをエクセルにコピー&ペーストしています。クエリ結果を表示させた フォームをコピー&ペーストすると、セルに色がついてしまうし、データの並びが 違うのでひと手間多くしています。 また、検索に使うクエリは条件によって変わるようで、2種類あります。 (アクセスはよく判らないので、あやふやな説明しかできないのですが、すみません) 今後はこの作業を、パソコンに詳しくない他の人がするというので、 できるだけ作業を簡単にしたいのです。 使っているアプリケーションは、エクセル97とアクセス97です。 ご存知のかた、よろしくお願いします。

  • エクセルからアクセスDBを操作する

    エクセルVBAでアクセスのDBへ接続しそこから選択項目をエクセル側に引っ張ろうとしています。 エクセルVBAの場合、マクロの記憶で分からない操作を記録して、そのままVBAに使う事が出来ますが、アクセスにも似たような機能はありますか? 普段アクセスではクエリで検索条件を指定していますが、このクエリの検索条件をエクセルのマクロの記憶みたいな形でコードとして出す事は出来ないでしょうか? エクセルVBAでアクセスでの検索条件を組み込みたいのです。

  • Access、マクロの最後に最適化を入れられる?

    Access2003を使用しています。 マクロの最後に最適化を組み込むことは可能でしょうか? マクロの内容は、 1、昨日のデータ抽出に使用した作業用テーブル内のデータを削除する 2、本日のデータをインポートしてくる 3、1で空にしたテーブルに、2のデータを追加クエリで流し込む 4、2でインポートしてきたデータ(テーブル)を削除する です。 この後、「5、データベースを最適化する」を入れてマクロを終わらせたいのです。 インポートしてくるテーブルは8個あり、1テーブルに20万を超すデータが入っているため、インポート、追加をやっているうちに、データベースの大きさが1,126,528KBにもなってしまいます。 この後、この大容量のテーブルを使って、大容量のテーブルを作成しているうちに・・・・データベースは更に大きくなってしまい困っています。 マクロの最後に「ここで一旦最適化」を入れられないでしょうか? このデータベースを使用するのは自分で使用するものでないため、「マクロ終了後ツールボタンで最適化する」ということが出来ません。 また、VBAはわからないので・・・出来ればマクロなどで対応できると助かります。 どなたか詳しい方、教えてください!

  • ACCESS2000 クエリをテーブル化するマクロ(VBA)おしえてください

    こんにちは。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1801262 の質問者です。コレの続きを教えてください。 まとめますと、クロス集計クエリや、ユニオンクエリをそのまま扱うと、データや計算式がからまってエラーになったり、処理が遅かったりするので、テーブル化してからいじりたいのです。 マクロは データベース変換 変換の種類…インポート データベースの種類…MS ACCESS データベース名…L:\パス\パス\ファイル名.MDB オブジェクトの種類…クエリ オブジェクト名…クエリ名 変換先名…テーブル名 テーブル構造のみ変換…いいえ としてみましたが、クエリとしてインポートされてしまいます。 いちどCSVか何かでエクスポートしてから、テキスト変換するという手もありますが、もっとスマートな方法がありましたら教えてください。 VBA も勉強中なので、VBAでお答えいただいてもけっこうです。 よろしくお願いします。

  • Accessのクエリ実行について

    すみません。ご存知でしたら、教えてください。 まず一点、基本(?)を確認させてください。 下記のように数個のテーブルとそれらを使用した数個のクエリがあったとします。 下記の場合に、もしどれかのテーブルを更新したとします。 その場合、アクセスを立ち上げて、クエリ3を実行するだけで、結果には反映されているのでしょうか?それとも、アクセスを立ち上げて、 クエリ1を実行し閉じ、クエリ2を実行し閉じ、最後にクエリ3を実行しないと、反映されていないのでしょうか? --------------------------------------------------------- テーブルリンクA 、テーブルリンクB、テーブルリンクC、テーブルリンクD ↓↓ テーブルAとテーブルBでクエリ1(マッチング)を作成 テーブルCとテーブルDでクエリ2(マッチング)を作成 ↓↓ クエリ1とクエリ2でクエリ3(マッチング)を作成 ------------------------------------------------- 続いて、もし上記でいちいち途中のクエリを実行しないと、 最後のクエリに反映されない場合、すべてをACCESSを立ち上げたと同時に自動実行し、自動で最後のクエリ(この場合、クエリ3)をエクスポートしたいと考えています。可能でしょうか? 素人な質問ですみません。 何卒よろしくお願いいたします。

  • Accessのマクロ

    オラクルからアクセスへテーブルをエクスポートする際ですが、メニューバーから外部データー取り込みではなくマクロを使用してアクセスへインポートしたいと思います。この場合マクロのデーターベース変換でインポートするのが良い方法でしょうか?それとも他に何か良い方法があるでしょうか?オラクルとはリンクせず、テーブルのみアクセスのデーターベースへインポートしたいと思っています。 よろしくお願いします。

  • Accessのマクロ。

    Access(テーブル クエリーのみ フォーム、レポートは持ってません) のデータベース(入力は別ソフトから行っています)で、 テーブルの内容が更新時にテキストファイルを書き出すようにしたく、 マクロを使ってどうにかならないか考えているのですが、 「条件」がうまくつけられません。別にマクロでなくAccessVBAでも いいのですが・・・・。 ご存知でしたら是非お教えください。

  • Accessのマクロ、クエリについて

    OS Win2000、Access2000を使用しています。 「一覧」というテーブルから「条件」というフォームに検索条件を入力して「結果」というフォームで検索結果を表示させたいのですが、検索の項目数が多すぎて(文字数が多すぎるとメッセージがでました。)マクロのデザイン画面の「Where条件式」の欄に入りきらないのです。 ヘルプを見るとVBAだともっと入るというようなことが書いてありましたが、VBAの組み方がさっぱりわかりません。 クエリでやってみようとも思いましたが、「条件」「結果」のフォームをどう使っていいのかわからず、まいっています。 「条件」「結果」のフォームをいかして検索できる方法をお分かりの方がいましたら、教えてください。 ちなみに、「Where条件式」の欄に入力しようとした条件式が、 [txt_01] Like '*' & [Forms]![条件]![t_01] & '*' And [txt_02] Like '*' & [Forms]![条件]![t_02] & '*' And [txt_03] Like '*' & [Forms]![条件]![t_03] & '*' And ・・・・・・ と、なり最終的に[txt_13]までになります。 Access初心者のため説明がわかりづらいと思いますが、よろしくお願いします。

  • ExcelVBAでAccessクエリのインポート方法について

    こんばんは。 色々調べたのですが、ExcelVBAでAccessのクエリをだインポートするやり方がわかりません。 ↓下記のやり方でクエリを指定すると、SELECTなどの指定がないといわれます。 http://dqn.sakusakutto.jp/2008/05/vbaaccessexcel_ado.html 下記のやり方で http://www.asahi-net.or.jp/~ef2o-inue/kihon/sub01_05_22.html →『ADOでデータを取得する。』で上手くいきそうなのですが、 テーブルのインポートはできても抽出部分が入れられません。 AccessのSQL文コピーし、strSQL="SELECT"の部分に 貼り付け、""でくくり、""部分は、''に置き換え、最後の;を消しました。 SQL部分にSELECT~としたのですが、1行に収まらず、自動改行がかかってしまい、1行目の最終に"が自動でついてしまい、 HAVING以降のAND((T_受付表.分類2)) In('優','普','')などの抽出条件がエラーになってしまいます。 VBAの通常改行 _も入れてみたのですが、えらーになってしまいます。 『 DAOでフィールドを個々に指定して読み込む』 で再度SQLを指定してやってみたところ、SELECT部分のみにすると、選択条件の入っていない、テーブルのデータインポートは上手くいくのですが、どうしても条件がいれられません。 どうしたらよいのでしょうか。 チラッと探したところ、クエリはインポートできないなどのご意見があったのですが、実際のところどのようにしたら良いのでしょうか。 宜しくお願い致します。

  • エクセルからアクセスへのインポートについて

    エクセルにある複数のファイルをアクセスへインポートしようとしています。エクセルには数百のシートが存在し、アクセス上で個々のテーブルにインポートしたいと考えています。一つ一つやればいいのですが、マクロなどを使って、自動的にインポートする方法はないのでしょうか?何卒よろしくお願いいたします。

専門家に質問してみよう