こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Access クエリについて

初めまして。Accessのクエリについての質問です。

Access2003です。
検索フォームを作り、その検索フォームにテキストボックスを2つ作り、そのテキストボックスに検索したい言葉を入力し、コマンドボタンで作った検索ボタンを押すとマクロでフィルタの実行がされデータを抽出できるというものを作りました。フィルタには選択クエリを使用しています。抽出したい2つのフィールドの抽出条件に[forms]![フォーム名]![テキストボックス名]を入れています。

今は2つのテキストボックス両方に言葉を入力するとデータが抽出されますが、これを1つのテキストボックスだけ入力でもデータが抽出されるようにしたいのですが可能ですか?今は一つのテキストボックスに言葉を入力しもう一つを空欄にすると何もデータが出てこない状態です。


2つのテキストボックスをテキスト(1)とテキスト(2)とすると
以下のようにデータを抽出したいです。
・テキスト(1)とテキスト(2)に入力 →両方の言葉が一致したデータ
・テキスト(1)だけに入力  →テキスト(1)の言葉だけ一致したデータ
・テキスト(2)だけに入力  →テキスト(2)の言葉だけ一致したデータ

初歩的な質問でしたら申し訳ないです。どうかお願いします。

投稿日時 - 2008-01-13 23:36:12

QNo.3677540

困ってます

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

>↑これをあいまい条件にするにはどこを変えればいいのですか?

曖昧な検索は Like を使います。

Like "*" & [Forms]![フォーム名]![テキストボックス名] & "*"

上記は、テキストボックスの内容を【含む】場合に、マッチします。
空欄の場合は全てにマッチします。


Like [Forms]![フォーム名]![テキストボックス名] & "*"

下記の場合は、テキストボックスの内容から【始まる】場合に、マッチします。
同じく、空欄の場合は全てマッチします。

投稿日時 - 2008-01-14 15:07:12

お礼

ありがとうございます!!
ほんとにほんとに助かりました。
本当に感謝します!

投稿日時 - 2008-01-14 15:18:05

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

>↑これをあいまい条件にするにはどこを変えればいいのですか?
Nzを使う方法では難しいでしょうね

Like "*" & [forms]![フォーム名]![テキストボックス名] & "*" or [forms]![フォーム名]![テキストボックス名] is null

投稿日時 - 2008-01-14 15:57:58

ANo.2

仕様に不明な点がありますが、下記と仮定します

・テキスト(1)とテキスト(2)の両方が空欄 →全てのデータ


クエリのデザインビューで作るなら、下記が分かりやすいと思います。

>[forms]![フォーム名]![テキストボックス名]

上記の部分を、下記に変更。

Nz([forms]![フォーム名]![テキストボックス名],[テーブル名].[フィールド名])

投稿日時 - 2008-01-14 10:34:13

補足

できました!ありがとうございます!

補足というかもう1つ聞きたいのですが、
Nz([forms]![フォーム名]![テキストボックス名],[テーブル名].[フィールド名])
↑これをあいまい条件にするにはどこを変えればいいのですか?

投稿日時 - 2008-01-14 13:54:49

ANo.1

抽出条件を

=[forms]![フォーム名]![テキストボックス名] or [forms]![フォーム名]![テキストボックス名] is null

のように書きます

投稿日時 - 2008-01-14 01:10:06

お礼

できました!!
本当にありがとうございます。
助かりました。

投稿日時 - 2008-01-14 13:52:12

あなたにオススメの質問