• ベストアンサー

Accessのパラメータークエリについて教えてください。

よろしくお願いします。 Accessのパラメータークエリについて教えていただきたいのですが、 例えば、商品名 と 担当者 と言うフィールドがあって、クエリを使用し[商品名を入力してください。][担当者を入力してください。]というパラメータクエリを作成しました。 そして、商品名のダイアログが出てきたときに「鉛筆」 担当者のダイアログが出てきたときに「遠藤」と入力すると思い通り物ものが出来るのですが、同じパラメータクエリを使用して、「遠藤」だけを抽出しようと思うと何も抽出されません。(たぶん「遠藤」と「空白」の抽出になっているのだと思うのですが・・・) ひつのクエリを使用して、2つでの条件と1つだけの条件で抽出することは出来ないでしょうか?よろしくお願いします。 Accessは2000or2002です。

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

  • ベストアンサー
  • software
  • ベストアンサー率28% (24/84)
回答No.1

普通はフォームを作成して条件入力をしますが、パラメータクエリでの実現方法を示します。 商品名と担当者の抽出条件に Like ([商品名を入力してください。] & "*") Like ([担当者を入力してください。] & "*") としてください。 ただし、この方法での問題点は、商品名に「鉛筆」と「鉛筆セットが」があり、抽出条件に「鉛筆」と入力しても「鉛筆セット」も抽出されてしまいます。フォーム+VBAのほうが自由が利きます。

omusupa
質問者

補足

解答ありがとうございます。 >ただし、この方法での問題点は、商品名に「鉛筆」と「鉛筆セットが」があり、抽出条件に「鉛筆」と入力しても「鉛筆セット」も抽出されてしまいます。 全くもとそのとおりです。そのため先に進めず困っております。 >普通はフォームを作成して条件入力をしますが・・ と書かれていますが、具体的にはどのようなことでしょうか? 私の回答履歴を見ていただければ分かると思いますが、多少なりともAccessは理解していると思いますので、詳しく説明されなくてもいいですので、「こんな感じで・・・」でいいですので、教えていただけないでしょうか?

その他の回答 (1)

  • software
  • ベストアンサー率28% (24/84)
回答No.2

#1です。 先ほどの回答の改造版です。(フォーム使用型ではありません) Like (IIf(IsNull([商品名を入力してください。]),"*",[商品名を入力してください。])) 同様に担当者も修正。

omusupa
質問者

お礼

ありがとうございました。 少し発想を変えてみたいと思います。 また質問をしたときにはよろしくお願いいたします。

関連するQ&A

  • Access のパラメータクエリについて

    お世話になります。 Accessでクエリを作成する練習をしています。 住所フィールドを含むクエリを基にして、住所フィールドにパラメータを設定するクエリを作成しています。 住所フィールドには、東京都で始まる住所、千葉県で始まる住所そして埼玉県で始まる住所が多数入力されています。 「パラメータの入力」ダイアログボックスに、ワイルドカードを使用して“東京都*”と入力して、クエリを実行すると1件も抽出できません。 パラメータには、ワイルドカードを使用できないのでしょうか。 または、他に理由があるのでしょうか。 よろしくお願いします。 OS: Windows 7  Office:2010

  • アクセス2003選択クエリーのパラメーター抽出条件式

    アクセス2003の選択クエリーで “株式会社アジア”という会社名をパラメーターに入力して抽出しようとすると、 “株式会社あじあ”という別の会社も出てきてしまいます。 クエリーの「会社名」というフィールドの抽出条件は [Forms]![会社名ダイアログ]![会社名] です。 ひらがなとカタカナを区別する方法を教えてください。 よろしくお願いします。

  • ACCESS パラメータクエリの設定

    ACCESSでデータの抽出をしています。 抽出をしたいキーワードが15個ほどあり、そのつどクエリを作るとかなり時間がかかります。データは(20万件ほどです) そこで本を見たところパラメータクエリというものがあり、早速試してみたのですができません。 テーブル名は”本”です。 フィールド1…番号  フィールド2…雑誌名 フィールド3…著者  フィールド4…JANコード になっています。 私はフィールド2のところで抽出条件として "[雑誌名を入力してください]" と入れました。 後もう一点ですが、同一雑誌でも名前が少し違って登録されているものもあり、重複するデータを抜き出して削除したいのですが、削除分と削除された残りのデータが共に必要です。こういった場合はどう処理するのが妥当でしょうか?削除分は別に保存した上で、不一致クエリを使えば正確にできますか?もっとよい方法がありますか? どうぞよろしくお願いいたします。

  • 【Access】フィールドにつけた別名を同じクエリで抽出に使いたいです

    【Access】フィールドにつけた別名を同じクエリで抽出に使いたいです。 Access2003を使っています。 困っている状況は以下のようなもです。 ■テーブル1  ・フィールド1 ■クエリ1  ・フィールドA:フィールド1  ・フィールドB:[フィールドA]   【抽出条件】>=10 このような条件で、クエリを実行すると、 「パラメータの入力 フィールドA」というダイアログが立ち上がってしまいます。 上記載のクエリ1でフィールドAの[]は自然についてしまうのではずせません。 今はもう一つクエリを作る事でこの状況はなんとかしましたが、フィールドに別名をつける毎にクエリを作るとクエリの数が多くなってしまうので困っています。 クエリでフィールドに別名をつけた場合は、そのクエリ上でその別名を使って抽出をかけることはできないのでしょうか? よろしくお願いします。

  • ACCESS2000 パラメータークエリー

     ウィンドウズ98、ACCESS2000です。  パラメータークエリーの作り方で、とあるテキストを入力すると それに対応するレコード抽出というのありますか?    とある日付を入力すると、それに対応するレコードを持ってくる パラメータークエリーは作れます。

  • Access 2003、2007 なぜクロス集計クエリだけクエリパラメータを設定しないといけないのか?

    Accessで、なぜクロス集計クエリだけクエリパラメータを設定しないといけないのでしょうか? 普通の選択クエリなどでパラメータクエリを作る時は抽出条件に[ ]を記入するだけで作成できますが、クロス集計クエリでパラメータクエリを作ろうとすれば、クエリパラメータでダイアログボックスの文字列とデータ型を指定しなければいけません。 これはなぜなのでしょうか?

  • Accessのパラメータクエリについて

    Accessのパラメータクエリがうまく動かなくて困ってます。 実はODBC経由でリンクテーブルを作っておりまして、そこからパラメータクエリで抽出を試みたのですが、パラメータは聞いてきますが抽出できません。 選択クエリ状態で直接抽出条件を入れてやれば何の問題もなく通常のテーブルと同様に抽出できるのですが、パラメータクエリにする、または同じ事ですが他のフォームのコントロールを参照させる状態ですと、エラーも出ずにノンデータとなります。 これって何故なんでしょうか?対処方法はありますか? ちなみにリンク元のテーブルはオラクルですがデータ型とかが関係あるのでしょうか?

  • Access2000:[パラメータの入力]ダイアログを表示されないようにするには

    初心者です。よろしくお願いします。 フォームが完成したあとで、クエリ/テーブルから削除したいフィールドが発生してしまいました。 削除したいフィールドのコントロールをフォームから消した後に、クエリ/テーブルからフィールドを削除しました。 削除したあとにフォームを開いたところ、[パラメータの入力]ダイアログボックスが表示されてしまいました。(メッセージは"開こうとしているフォーム名" クエリ:"削除したフィールド名"です) このダイアログボックスが表示されないようにしたいのですが、どうすればよいでしょうか。 ちなみに削除したフィールドは単なるテキスト型で、選択クエリでも抽出条件等は設定していませんでした。 初歩的な質問ですみませんが、よろしくお願いします。

  • Accessの演算フィールドでのパラメータ設定について教えて下さい

    Accessについて質問です。クエリで「金額:[価格]*[数量]」などの演算フィールドで、パラメータを使って抽出しようと「>=[金額を入れる]」のような条件を設定しました。すると、パラメータに10000と入力すると、10000以上のものが抽出はされますが、1000以上のものまで抽出されてしまいます。どうも先頭の数字に反応しているようです。どういうことなのでしょうか?どなたかよろしくお願いします。

  • アクセス クエリ

    アクセス クエリの抽出について教えて下さい。例えば、1つのクエリの中に数値のフィールドが5つ作成してあり、それぞれ違うフィールドの抽出条件をしています。それぞれの条件を入れてしまうと5つのフィールド条件全てに合ったものしか抽出できません。 5つのフィールドのうち、どれでも1つ一致したら抽出できるようにしたいのですが良い方法を教えて下さい。宜しくお願いします。

専門家に質問してみよう