OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

検索条件について。

  • 困ってます
  • 質問No.189928
  • 閲覧数62
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 66% (871/1309)

あるフォームで選択・入力された値から抽出を行うようなクエリを作成しました。
空欄でもきちんと抽出されるようにと、下記のようなものを記入しました。

IIf(IsNull([Forms]![検索結果]![rank]),True,[ランク] Like [Forms]![検索結果]![rank])

ですが、実行を行う(空欄で実行)と、「式が複雑すぎです」とエラーがでてしまいます。
実際の値を入力すると、何も抽出されません。

どこが違うのでしょうか?
よろしくお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.4
レベル14

ベストアンサー率 21% (516/2403)

ヘッダー部分で何を検索するか入力し、結果を明細部分に表示するように
しているのでしょうか?

やったことが無いのでできるかどうかわかりません。
私は、検索データを入力するフォームと、検索結果を表示するフォームを
別にしています。

入力するフォーム
検索に使うクエリー
検索に使うクエリーを使用して結果を表示するフォーム
※入力するフォームに「検索」という名前のボタンを作り、このボタンを押すと
検索結果を表示するフォームを開くようにマクロで設定しています。
お礼コメント
KODAMAR

お礼率 66% (871/1309)

検索するフォームと表示するフォームを別にするようにしました。
ついでに?レポートでも表示させるようにしました。
おかげでうまく表示させることができました。
何回も質問にお答えくださって本当にありがとうございました。
お世話になりましたm(__)m
投稿日時 - 2001-12-26 14:20:15
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル14

ベストアンサー率 21% (516/2403)

フォームでテキストボックスを2つ作り、一つは入力用(「担当者」) もう一つのテキストボックスのコントロールソースに次のように入力します。 =IIf(IsNull([担当者]) Or IsEmpty([担当者]),"*",[担当者]) (これが入力されたテキストボックスの名前は「担当者1」とします) 検索クエリーのほうは、Likeの検索だけにします。 Like ' ...続きを読む
フォームでテキストボックスを2つ作り、一つは入力用(「担当者」)
もう一つのテキストボックスのコントロールソースに次のように入力します。
=IIf(IsNull([担当者]) Or IsEmpty([担当者]),"*",[担当者])
(これが入力されたテキストボックスの名前は「担当者1」とします)

検索クエリーのほうは、Likeの検索だけにします。
Like '*' & [forms]![検索]![担当者1] & '*'
手間はかかるかもしれませんが一応これでもできますよ。
補足コメント
KODAMAR

お礼率 66% (871/1309)

フォームで入力用のものとして「氏名検索」、もうひとつを「氏名検索表示用」としました。
「氏名検索表示用」の方のコントロールソースに
=IIf(IsNull([名前検索]) Or IsEmpty([名前検索]),"*",[名前検索])
としました。

検索クエリーの方で、「氏名」のところに
Like '*' & [Forms]![検索結果フォーム]![名前検索表示用] & '*'
としました。

クエリーの方でたとえとして「田中」と入力すると田中さんすべてが表示されます。
でもフォームで「氏名検索」のところに「田中」と押しても、検索されません。
(フォームにコマンドボタンを作成し、フォームフィルタの実行を行うようにしてあります。)

またクエリーでもそうですが、何も入力しないと、表示されるのが、「氏名」に何かしら文字が入っている人のみになってしまうのです。
名前が空白の人もいるので、空白の人も表示させたいのです。

何かよい解決法はありますか?
よろしくお願いします。
投稿日時 - 2001-12-25 13:28:08
  • 回答No.2
レベル14

ベストアンサー率 21% (516/2403)

「氏名検索」「氏名検索表示用」共にテキストボックスのプロパティの 名前の所がこの名前になってますでしょうか。 Likeのこの検索方法は、元のテーブルがNullでは通用しません。 Nullではなく、空白なら大丈夫だったと思うのですが・・・ あまりお薦めできないのですが、Nullの変わりに空白を入れても 大丈夫でしたら、テーブルの氏名がNullの場合空白にするという 更新クエリーを作り、入 ...続きを読む
「氏名検索」「氏名検索表示用」共にテキストボックスのプロパティの
名前の所がこの名前になってますでしょうか。

Likeのこの検索方法は、元のテーブルがNullでは通用しません。
Nullではなく、空白なら大丈夫だったと思うのですが・・・

あまりお薦めできないのですが、Nullの変わりに空白を入れても
大丈夫でしたら、テーブルの氏名がNullの場合空白にするという
更新クエリーを作り、入力後や変更の後にこの更新クエリーが動くように
しておくと、検索はこのLikeの検索で大丈夫だと思います。
補足コメント
KODAMAR

お礼率 66% (871/1309)

再度回答ありがとうございます。

> 「氏名検索」「氏名検索表示用」共にテキストボックスのプロパティの
名前の所がこの名前になってますでしょうか。

はい、なっています。

スペースでも大丈夫だと思うのでちょっとチャレンジしてみます。
ありがとうございました。
投稿日時 - 2001-12-25 14:57:12
  • 回答No.3
レベル14

ベストアンサー率 21% (516/2403)

>フォームで「氏名検索」のところに「田中」と押しても、検索されません。 「氏名検索表示用」に「氏名検索」に入力したデータが反映されているか 確認してください。 検索結果をフォームを使い表示させているのでしょうか? フォームで使われているクエリーが正しいクエリーか Like '*' & [Forms]![検索結果フォーム]![名前検索表示用] & &# ...続きを読む
>フォームで「氏名検索」のところに「田中」と押しても、検索されません。

「氏名検索表示用」に「氏名検索」に入力したデータが反映されているか
確認してください。

検索結果をフォームを使い表示させているのでしょうか?
フォームで使われているクエリーが正しいクエリーか
Like '*' & [Forms]![検索結果フォーム]![名前検索表示用] & '*'
抽出条件にこの条件が書かれているか確認してください。
補足コメント
KODAMAR

お礼率 66% (871/1309)

はい、きちんと表示されています。

氏名検索に「田中」と入力すると「氏名検索表示用」にも「田中」と表示されます。
(それ以前は「*」となっています。)

検索結果はフォームで表示させています。
「詳細」部分に通常のフィールドを表示し、「フォームヘッダー」に「氏名検索」や「氏名検索表示用」を表示させています。
投稿日時 - 2001-12-26 13:13:45
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ