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

access2000を使っています。まだ初心者なので難しい事はできないのですが、クエリを使って絞り込み検索のフォームを作っています。
テーブル内のデータで空白のデータがあります。その際にクエリの抽出条件にlike iif(is null([forms]![formA]![テキスト100]),"*","*"&[forms]![formA]![テキスト100]&"*")としています。フォームのテキストが空白のときは全て抽出するという条件を満たす予定で設定したのですが、テーブル内のデータが空白の物が抽出できません。データが空白がない様にすればいいのでしょうが、クエリの条件で設定できないものでしょうか?データはテキスト型です。

A 回答 (4件)

クエリで、like "*"では、空白のレコードの抽出は出来ないのでは?


like "*" Or Is Nullになると思いますが、これをこのまま指定の抽出条件に記述したら、条件が・・・のエラーメッセージが出ると思います。そこで、何もかもを一度にするので無く、多少分解してやります。
抽出条件というフィールドを作成し、InStr関数を使用して、テキストの中に、指定した文字が含まれているかを調べます。この関数は、文字が見つかった時は、最初に見つかった文字位置を返してくるので、抽出条件は、<>0と指定します。
フォームに抽出条件が設定されていない時は、全件抽出したいという事ですので、テキストボックスが空白の時に、0以外をこのフィールドにセットすればOKでは?

フィールドに
抽出条件:IIf(IsNull([Forms]![formA]![テキスト100]),1,InStr([FAX番号],[Forms]![formA]![テキスト100]))
抽出条件に
<>0

こんな感じでどうでしょ?
    • good
    • 5

単純に条件を2つに分けることをお勧めします。



●抽出条件のテキストボックスイメージ
※空白がある項目の下にある抽出条件
1段目 is null([forms]![formA]![テキスト100]) AND like [forms]![formA]![テキスト100] & "*"
2段目 is not null [forms]![formA]![テキスト100]
    • good
    • 2
この回答へのお礼

すみません。これはiifを使わずにこの条件を入れるだけでいいのですか?
構文が正しくないとなってしまいます。かっこ付けても同じでした。

お礼日時:2002/10/08 15:54

>is null([forms]![formA]![テキスト100])



この部分は

IsNull([forms]![formA]![テキスト100]) = True

ではないでしょうか。
    • good
    • 0

空白の全抽出をするだけなら、該当フィールドの抽出条件に、ただの「Is Null」を入力するだけじゃいけないんでしょうか。

    • good
    • 4
この回答へのお礼

すみません、説明が悪かったようです。
テキストが空白の時は、テーブルのデータの空白も含めて全てとしたいのです。

お礼日時:2002/10/08 15:39

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

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

関連するカテゴリからQ&Aを探す


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