ACCESSクエリ抽出条件:自由なテキスト3つを含むデータを抽出する方法

このQ&Aのポイント
  • ACCESS超初心者です。質問文章全体の100文字程度の要約文を3つ作成し、文章の内容をまとめてください。
  • ACCESSでのクエリ抽出条件について知識不足でお手上げ状態です。フォーム上に自由に入力できるテキストを3つ用意し、入力されたテキストが1つのフィールドに含まれるデータを抽出したいです。テキストが空欄の場合は全データを抽出したいです。
  • テキスト1、テキスト2、テキスト3の3つのテキストをフォーム上に用意し、これらがフィールド1に含まれるものをクエリで抽出します。また、3つのテキストが空欄の場合は全データを抽出します。
回答を見る
  • ベストアンサー

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

ACCESS超初心者です。 自分なりに調べたのですが、知識不足によりお手上げ状態です。 クエリの抽出条件について、どなたかご教授いただけますでしょうか? OS:XP ACCESS:2000 ・フォーム上に自由に入力できるテキストを3つ用意します。 ・入力された3つのテキストが1つのフィールドに含まれるものをクエリで抽出したい。 ・3つのテキストが空欄の場合は全てのデータを抽出したい。 ■フォーム上のテキスト  テキスト1:テキスト10  テキスト2:テスト11  テキスト3:テスト12 ■テーブル  フィールド1:問合せ内容(1) ■クエリ内の抽出条件 Like "*" & [Forms]![F_検索テスト]![テキスト10] & "*" And Like "*" & [Forms]![F_検索テスト]![テスト11] & "*" And Like "*" & [Forms]![F_検索テスト]![テスト12] & "*" テキスト名がおかしいのですが、ご了承下さい。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

アップされた条件でいいと思いますよ どううまく行かないのですか?

sakamako
質問者

お礼

大変返事が遅れました。 CHRONOS_0さんのおっしゃるとおり、質問の抽出条件でよかったようです。こちらの確認不足でした。 ACCESSはexcelやwordのようにやってみて何とかなるソフトではないので、1回1回壁に当たってしまい大変苦慮しております。 今後もご教授お願いいたします。

関連するQ&A

  • Accessのクエリ

    初めまして。Accessのクエリについての質問です。 Access2003を使っています。 検索フォームを作り、その検索フォームにテキストボックスを2つ作り、そのテキストボックスに検索したい言葉を入力し、コマンドボタンで作った検索ボタンを押すとマクロでフィルタの実行がされデータを抽出できるというものを作りました。フィルタには選択クエリを使用しています。抽出したい2つのフィールドの抽出条件にあいまい条件のLike "*" & [Forms]![フォーム名]![テキストボックス名] & "*"を入れています。 今はテキストボックスが2つですが、もっと増やしていろんな条件で検索出来るようにしたいので、3つ目のテキストボックスを作り、抽出条件も同じように入れました。ですが、そうすると今までちゃんとできていた最初の2つのテキストボックスによる抽出が違った結果となりでてきました。このとき、新しく作った3つ目のテキストボックスは空欄なので最初と同じ結果が出ると思ったのですが、これは抽出条件が3つはできないということでしょうか?どなたか教えてください。

  • ACCESSでクエリーを使った検索

    VBAを使えば簡単にできるのですが、事情があり、クエリーのみで行わなければいけません。 フォームに入力された情報を元に検索できるクエリを作成しました。 通常でしたらクエリのフィールド名の下の抽出条件に Forms![F_検索]![検索条件1] とすればいいのですが、これが複数の条件を設定した場合はすべての条件を入力しないと、検索結果が出ないことから 以下のように変更しました。 フィールド名の抽出条件には何も書かず、別に式として IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=[Forms!]![F_検索]![検索条件1])) と入力しそこの抽出条件に「True」と入力しました。 これで何も入力されてない場合は全件が表示されるようになりました。 通常の検索はこれでいいのですが疑問点が2点あります。 1.期間を抽出する場合はどうしたらいいのか? IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=Between [Forms!]![F_検索]![検索条件1] and [Forms!]![F_検索]![検索条件2])) とかしてみましたがダメでした。 2.あいまい検索をするにはどうしたらいいのか? IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=Like [Forms!]![F_検索]![検索条件1])) なんてしてみましたがだめでした。 ご回答よろしくお願いします。

  • ACCESSでの抽出について

    単純なクエリの抽出なのですが・・・。 区フィールド、町フィールドをクエリで作成して そのクエリを元に抽出フォームを作成しました。 そして、クエリの抽出条件に以下の式を入力しました。 Like "*" & [Forms]![F_抽出]![区] & "*" Like "*" & [Forms]![F_抽出]![町] & "*" しかし、大本のデータに [区]フィールド→品川区 [町]フィールド→空白 ・・・と、どちらかが空白の場合、そのレコード を抽出してくれません。 このように、空白フィールドを持つレコードをも 抽出するにはどのようにしたらようですか? 初歩的な質問で申し訳ありませんがよろしくお願いいたします。

  • クエリの抽出条件でiif関数

    こんにちわ。 いまaccess2000でクエリを作成し, その抽出条件において,iif関数を使って, フォームのあるフィールドに値があるときはその値, ないときはワイルドカードで検索しようと思い, 下記のコーディングを入れました。 iif([Forms]![F_フォーム1].[テキスト1] Is Null, "*", [Forms]![F_フォーム1].[テキスト1]) ところがワイルドカードの"*"がうまく効いてくれないようで 正しく検索されません。 どうすれば正しく検索できるでしょうか? 教えてください。お願いします。

  • Accessクエリの抽出条件にフォームから挿入する方法

    Accessフォームのテキストボックスに入力されたデータを、クエリの抽出条件に挿入したいのですが、その際部分一致で検索したいため、抽出条件にLike "*[Forms]![フォーム名]![テキストボックス名]*"と記述したのですがうまく行きません。 どのように記述すれば部分一致で検索できるのかお教えください。

  • ACCESS2003でクエリを使った検索フォームを作っています。

    ACCESS2003でクエリを使った検索フォームを作っています。 クエリは以下の様になっています。 ----------  番号   タイプ   品名  1111   AA     商品1  2222   AA     しょうひん2  3333   BB     商品しょうひん3 ---------- 品名のフィールドの抽出条件に ---------- Like "*" & [Forms]![品名検索フォーム]![品名検索] & "*" ---------- と入れています。 品名検索フォームは帳票タイプで、フォームヘッダーにテキストボックスを設け 「品名検索」と名前をつけています。 テキストボックスに【商品】と入力すれば番号1111と3333が、【しょうひん】と入力すれば 番号2222と3333が抽出されるように設定し、ここはうまく動きました。 ただ、このフォームを開いた際、テキストボックスは空欄になっているため、全レコードが 表示されてしまいます。テキストボックスが空欄の際は、何も表示したくないのですが どこを触ればいいのでしょうか? どうかよろしくお願いいたします。

  • フォームのテキストボックスを抽出条件とするクエリー

    Access2003を使って、「フォームのテキストボックスを抽出条件とするクエリー」 を作成していて困っています。 まず Like [Forms]![顧客氏名検索]![テキスト2] とすると、完全一致したものだけが抽出できています。そこで 【値の一部が一致】 Like "文字列*"   ※文字列にある文字列を直接入力するとちゃんと抽出できる。 これを参考に Like "[Forms]![顧客氏名検索]![テキスト2]*" とすると、値の一部が一致するものが抽出されません。(何を入力しても該当0件) 抽出条件が正しく設定されてないように思います。 フォームのテキストボックスの値を利用する場合、""や*の使い方がおかしいのでしょうか?

  • ACCESS2000で検索値空白時の抽出

    ACCESS2000で質問です。 顧客データベースがあります。 シリアルと登録名で検索をかけて、どちらかでヒット、又は両方ANDでヒットしたものをクエリで抽出したいです。以下の条件式はクエリの抽出条件の同じ行に入れています。データベースのうち、シリアルと登録名が両方入力されているものは問題なくヒットするのですが、どちらかが空欄のものがヒットしません。どちらかが空欄のものもヒットさせ、フォーム[検索]で何も入力しないでクエリを開いた時は全レコードを表示するようにしたいのですが、どのような式を書けばよいのでしょうか。宜しくお願いいたします。 Like "*" & [Forms]![検索].[登録者] & "*" Like "*" & [Forms]![検索].[シリアル] & "*"

  • Access2000 抽出について

    どうしてもわからないので教えてください。 選択クエリで、「フリガナ」というフィールドに、 Like IIf(IsNull([Forms]![F_顧客検索]![カナ検索]),"*",[Forms]![F_顧客検索]![カナ検索] & "*") でフォームからクエリを実行させるようにしているのですが、 フリガナが空白のレコードは抽出されてくれません。 「*」でなく、なんと入れればいいのでしょうか? ちなみに他に、「自宅電話番号」というフィールドに、 Like IIf(IsNull([Forms]![F_顧客検索]![電話検索]),"*" & "*",[Forms]![F_顧客検索]![電話検索] & "*") など、似たような感じで抽出をかけています。 よろしくお願いします。

  • アクセス2000 複数の条件でクエリ作成

    アクセス2000を使用しています フォームを作成して テキストボックスを3つ、ボタンを1つ配置しています テキストボックスには番号、名前、名前ヨミをそれぞれ入力します 名前とヨミはあいまい検索をしたいのですが クエリの条件をどのように書けばいいでしょうか? 番号の条件 Forms!MAIN!番号 名前の条件 like "*" & Forms!MAIN!名前 & "*" ヨミの条件 like "*" & Forms!MAIN!名前ヨミ & "*" をそれぞれ または で記入したのですがうまく抽出されません たとえば、番号のところに何か入力しても残りの2つが空白であるためにあいまい検索なので全てという認識で抽出をかけているのだと思います どのように条件を書けばうまく抽出されるでしょうか

専門家に質問してみよう