dポイントプレゼントキャンペーン実施中!

検索フォームを作成しました。
詳細は、
検索文字入力用テキストboxが4つ([検索1][検索2][検索3][検索4])
検索ボタン、クリアボタンがあります。
検索用クエリを作成し、検索ボタンを押すと実行されるようになっています。
クエリ抽出条件には各フィールドごとに
Like ("*" & [Forms]![検索フォーム]![検索] & "*")
と記述しました。([検索]は[検索1]~[検索4]まであります)
現在、文字を入力しての検索は上手くいっていますが、フィールドの空白だけを抽出したい場合にどのようにしたらいいのかわかりません。

ご回答宜しくお願いいたします。

A 回答 (2件)

現状では、


抽出条件を入力すれば、その文字を含むレコード
空白の場合は、フィールド内が空白でないレコードが出てくるかと思います。

案1(妥協案)
クエリのデザインビューで
Like ("*" & [Forms]![検索フォーム]![検索1] & "*") となっているところを
Like ("*" & [Forms]![検索フォーム]![検索1] & "*") Or Is Null
とすれば、条件に合うもの + 空白分 が合わせて出てきますけど・・

案2
クエリのデザインビューで
Like ("*" & [Forms]![検索フォーム]![検索1] & "*") となっているところを
全て削除(4箇所)
新たなフィールドを作成し
そこに
式1:IIf(IsNull([forms]![検索フォーム]![検索1]),
[テーブル名].[フィールド名] Is Null,
[テーブル名].[フィールド名] Like "*" & [forms]![検索フォーム]![検索1] & "*")
として
抽出条件に、= True
表示のチェックは外す
これで
検索1が空白の場合は、空白のレコード。
何かしら入力してあれば、その分だけ。
* の場合には、空白では無いレコード。
* そのものを検索したい場合は [*] と入力すれば
文字列中に、* を含むレコードが出てきます。

案3(案2の流れで)
式1:IIf([forms]![検索フォーム]![検索1] = "@@",
[テーブル名].[フィールド名] Is Null,
[テーブル名].[フィールド名] Like "*" & [forms]![検索フォーム]![検索1] & "*")
検索1が空白の場合は、空白では無いレコード。
何かしら入力してあれば、その分だけ。
@@ の場合には、空白のレコード。
@@は決してありえない文字列にして下さい。

※元のクエリは残して、コピーしたクエリにてお試しを

この回答への補足

回答ありがとうございます!
案2を使わせていただき抽出できました。
ただ、検索したいフィールド4つのうちの1つは案2の方法でいいのですが、残り3つは今まで通りの検索ができるようにしたいです。
以前の抽出条件をクエリに入れてもうまく検索できなくで困っています。
ちなみに残り3つのフィールドには空白セルはないので空白の抽出は必要ありません。

お手数お掛けしますが回答宜しくお願いします。

補足日時:2006/05/19 21:06
    • good
    • 1

以前の抽出条件をクエリに入れてもうまく検索できなくで困っています。


↑ 以前はどの様にしていて、今回はどうしたのか?
得たい結果とうまく行かない結果はどのようなものか?
こちらでは全く把握できません。
回答できるか定かではありませんが
以前と今回のそれぞれのクエリのSQLビューを貼り付けてみて下さい。
    • good
    • 0
この回答へのお礼

お返事が遅くなり申し訳ありませんでした。
勘違いをしており、前回ご回答頂いたもので解決いたしました!
案2と今までの抽出条件でOKでした。
ありがとうございました!

お礼日時:2006/05/23 19:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A