- ベストアンサー
Microsoft Query の抽出条件にデフォルト値を表示したい。
EXCELからMicrosoft Queryを使用して基幹DBのデータを引っ張っています。 この時に仮にA、B、Cという3つの項目があったとします。 A:日付 B:時間 C:担当者コード ダウンロードする際にMS Queryにおいて抽出条件を設けています。 日付の項目だったら >=[日付を入力して下さい] っという具合にです。 この際に日付自体は基本的にデフォルト値(前日や固定日)が決まっている場合にインプットボックスに表示させて入力の手間を省く事は出来ますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 既に、MS-Query のクエリは出来上がっているのでしょうか? InputBox でDDE通信を行う(方法を知りません)よりも、直接、Excelのセルから、パラメータクエリで取り出したほうが早いと思います。VBAですと、ADOで通信したほうがよいと思います。 A:日付 B:時間 C:担当者コード としたら、 抽出条件の表示/非表示のツール・ボタンをクリックします。 フィールドが既にこうあるとすれば、値の部分を、 ----------------------------------- 日付 時間 担当者コード [] [] [] ----------------------------------- 値のところを「[ ]」で囲みます。 それで、クエリを再保存します。 Excelに戻って、 後は、[データ]-[外部データの取り込み]-[データの取り込み(D)] で保存したクエリを呼び出し、 データの出力先とパラメータの入力場所を決めれば、使えるようになります。 バラメータの入力場所を決めるときに、入力値が変更したら、更新などのチェックを入れます。 今、こちらでは、時間の部分がどのように出力されるのか、分かりませんが、そのデータの保存方法によって、SQL のWHERE の部分を決めてください。 なお、Excel 2000以上ですと、この内容はほとんど変わりません。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
#1のWendy02です。 #1の文章は、説明の内容が飛んでいます。#1の内容は、ADOを使ってはおりません。 「パラメータクエリ」を、セル上に入力をするようにしております。この方法が簡単です。ただし、出力する場所は、3個出力する場合は、3列すべてを使用しますから、別のシートを使ったほうがよいかもしれません。
お礼
もう去年の内容になりますがアドバイスありがとうございました。 現在ではエクセルの外部データベースへの接続や、 VBA上からADO?を使った接続など色々と実現できています。