• ベストアンサー

Microsoft Query の抽出条件にデフォルト値を表示したい。

EXCELからMicrosoft Queryを使用して基幹DBのデータを引っ張っています。 この時に仮にA、B、Cという3つの項目があったとします。 A:日付 B:時間 C:担当者コード ダウンロードする際にMS Queryにおいて抽出条件を設けています。 日付の項目だったら >=[日付を入力して下さい] っという具合にです。 この際に日付自体は基本的にデフォルト値(前日や固定日)が決まっている場合にインプットボックスに表示させて入力の手間を省く事は出来ますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 既に、MS-Query のクエリは出来上がっているのでしょうか? InputBox でDDE通信を行う(方法を知りません)よりも、直接、Excelのセルから、パラメータクエリで取り出したほうが早いと思います。VBAですと、ADOで通信したほうがよいと思います。 A:日付 B:時間 C:担当者コード としたら、 抽出条件の表示/非表示のツール・ボタンをクリックします。 フィールドが既にこうあるとすれば、値の部分を、 -----------------------------------  日付 時間 担当者コード  []  []  [] ----------------------------------- 値のところを「[ ]」で囲みます。 それで、クエリを再保存します。 Excelに戻って、 後は、[データ]-[外部データの取り込み]-[データの取り込み(D)] で保存したクエリを呼び出し、 データの出力先とパラメータの入力場所を決めれば、使えるようになります。 バラメータの入力場所を決めるときに、入力値が変更したら、更新などのチェックを入れます。 今、こちらでは、時間の部分がどのように出力されるのか、分かりませんが、そのデータの保存方法によって、SQL のWHERE の部分を決めてください。 なお、Excel 2000以上ですと、この内容はほとんど変わりません。

hikari_tai
質問者

お礼

もう去年の内容になりますがアドバイスありがとうございました。 現在ではエクセルの外部データベースへの接続や、 VBA上からADO?を使った接続など色々と実現できています。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

#1のWendy02です。 #1の文章は、説明の内容が飛んでいます。#1の内容は、ADOを使ってはおりません。 「パラメータクエリ」を、セル上に入力をするようにしております。この方法が簡単です。ただし、出力する場所は、3個出力する場合は、3列すべてを使用しますから、別のシートを使ったほうがよいかもしれません。

関連するQ&A

  • クエリの抽出条件について

    クエリを作ろうと考えています。 複数あるフィールドの中に、2つの日付フィールドA,Bとあり、 AよりBの日付が前だった場合を抽出したいと考えているのですが、 どなたかご教授いただければと思います。

  • テーブル作成クエリの抽出条件について

    テーブル作成クエリの抽出条件について テーブルAとテーブルBを使って、テーブル作成クエリを作ろうとしています(テーブルC) その際、ある1つの項目に文字数指定する抽出条件を設定したいのです ひっぱってきたその項目のデータは、全て50文字以上あるのですが それを最大36文字に設定して、それ以降の文字は「切り捨て」にした形で テーブルCを作成したいのです。 この場合の抽出条件はどのように入力すればよいのでしょうか?? どなたか親切な方、教えて下さい。 また、質問内容に不備がありましたらご指摘をお願いします。

  • ACCESS2007 クエリの抽出条件について教えてください

    ACCESS2007で、ルックアップ列(コンボボックス)を使用したテーブルがあります。そのテーブルをクエリにて、コンボボックスの条件別に抽出させたいのですが、その抽出条件を教えていただけませんでしょうか。 コンボボックスリストの中身(A,B,C)       A→Aのみ抽出したクエリ       B→Bのみ抽出したクエリ       C→Cのみ抽出したクエリ という風に作成したいのですが。 お忙しいところ申し訳ありません。よろしくお願いします。

  • Accessクエリの抽出条件

    Access2000を使用しています。 クエリの抽出条件にテーブルの値を使用したいのですが、その方法がわかりません。 テーブルAには、「日付」、「当者コード」 などの項目があります。 テーブルBの項目は「担当者コード」のみです。また、1レコードしか登録 されていません(2レコード以上になることはありません)。 そこで、テーブルAに対するデータ抽出条件を、テーブルBの「担当者」としたいのですが、 どのように記述すればよろしいでしょうか・・・? よろしくお願いします。

  • クエリーの抽出条件について

    「作表条件」というフォームにテキストボックスとして「日付1」、「日付2」を設置しています。 元のテーブルには「日付」という項目があり、「日付1」から「日付2」までのデータを抽出するため、 クエリの条件式に Between Nz([Forms]![作表条件]![日付1],#1800/01/01#) And Nz([Forms]![作表条件]![日付2],#9999/12/31#) と記述しています。 ただ、元のテーブルの日付がNULL値の場合があり、その場合「日付1」および「日付2」が空欄だとNULL値のレコードが抽出されません。 「日付」がNULLの場合でも抽出できるようにするには、どのようにすればよいでしょうか? どなたか教えてください。

  • ACCESS2000 クエリの抽出条件

    フィールドに無作為に年月日が入力されているとします。 クエリの抽出条件に>2008/1/1と入力すると「2008年1月1日よりも新しい日付のレコード」を選択できます。 新しい日付の上位25までを選択するためには、抽出条件になんと入力したらいいのでしょうか。あまりにも基本的な質問かもしれませんが、お時間の許す方にお願いします。

  • クエリの抽出条件

    クエリの抽出条件に [担当者を選んでください] クエリを開いた際に、担当者をドロップダウン一覧から選べるようにしたいのですが [Forms]![フォーム名]![コンボ名]は分かるのですが・・・ フォーム名とは、何を入力すれば良いのでしょうか? コンボ名はコンボボックスを作成した担当者名だと思いますが・・・? 基本的に1つのテーブルに全部の項目を入力し、クエリーを作成しています フォームは作成していました。 しかし、フォーム名を入力しても、コンボボックス名を入力しても[担当者を選んでください] の場所の名前が変わるだけなんです?? ご回答の程、よろしくお願い致します。

  • Access2003 抽出条件について

    お世話になります。 フォームビューにて、日付での検索をしたいのですが 『日付A』~『日付B』までの期間を任意で入力して抽出したいのです。 その場合、クエリではどういう抽出条件を設定すれば良いのでしょうか? Accessの教則本を何冊も買っていますが、的を得てないのばかりで困っています。 宜しくお願い致します。

  • Access クエリでの抽出条件の質問です。

    Access初心者です。宜しくお願いします。 選択クエリで、選択したフィールド同士を比較して条件に合えば表示したいのですが、うまくいきませんご伝授お願いします。 (例) フィールド名 A B C D の4つのフィールドがあります。 AとBを比較して同じでなければ表示、又はCとDを比較して同じでなければ表示 Aのフィールドの抽出条件に <>B 「or」で入力しました。 Cのフィールドの抽出条件に <>D の二つの条件を入力しましたがうまく条件にみたしません。A~Dまでのデータは条件に合うように登録されています。 宜しくお願いします。

  • クエリにおける複数値の抽出について

    クエリにおける複数値の抽出について access2007を使用しています。 テーブルA,テーブルBを元にクエリCを作成しました。 テーブルAには担当というフィールドがありますが,複数の値の入力を許可しており,テーブルBを値集合ソースとして設定してあります。 クエリCにおいて,以下のような抽出をしたいと考えています。 例えば, ID_所員ID_担当 001_B001,B002,B003_山田,佐藤,鈴木 002_B002_佐藤 003_B001,B002_山田,佐藤 において,所員IDの抽出条件のところにB002と入力すると,ID002のみが抽出されるといった感じです。 B002と抽出条件を設定すると,B002を含む全てのレコードが抽出されてしまいます。この場合ですと,ID001から003の全てのレコードが抽出されます。 担当のところで抽出条件を佐藤と設定し,さらに所員IDの抽出条件のところに,Len関数を使用して4文字以下とすれば…とも考えたのですが上手くいきません。 もし,良い方法があればご教示ください。

専門家に質問してみよう