- ベストアンサー
ACCESS2003でクエリを使った検索フォーム作成方法
- ACCESS2003でクエリを使った検索フォームを作る方法について紹介します。
- クエリの抽出条件やテキストボックスの設定方法について詳しく説明します。
- テキストボックスが空欄の際に全レコードを非表示にする方法について解説します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です。品名のフィールドの抽出条件の設定を変更してください。 Like "*" & [Forms]![品名検索フォーム]![品名検索] & "*" AND [Forms]![品名検索フォーム]![品名検索] Is Not Null これで品名検索に何も入っていないときはデータは表示 されず、品名検索にデータが入っているときはデータが 表示されます。
その他の回答 (3)
- layy
- ベストアンサー率23% (292/1222)
品名検索テキストボックスに入力が終わった時表示されますか。入力が終わって検索ボタン押すことで表示してますか。 検索画面ですから、検索項目に何か入れるし表示するのが目的。事前に空欄チェックするのがいいと思います。 空欄であるかチェックしてから、検索ボタンが押せるようになり、表示する仕掛け、にするのはどうですか。 フォーム開くと表示されるというのも、表示されない条件でクエリ実行し0件とさせる無駄な処理になるようならクエリ自身しない方が良いでしょう。 品名検索に何か入力された時だけ、の判定追加を考える。
お礼
ありがとうございます。 入力後Enterで表示されるようになっています。 本来なら、ご指摘いただいたような仕組みで作るのがスマートなのでしょうね。 今後の課題とします。ありがとうございました。
- piroin654
- ベストアンサー率75% (692/917)
抽出条件を以下のようにしてみてください。 Is Null or Like "*" & [Forms]![品名検索フォーム]![品名検索] & "*"
- chupark
- ベストアンサー率41% (90/218)
品名検索に何も入力していないときには抽出結果をなしにしたい、ということでしょうか。 抽出条件を、 IIF(IsNull([Forms]![品名検索フォーム]![品名検索]),"",Like "*" & [Forms]![品名検索フォーム]![品名検索] & "*") などとしてみてはいかがですか?
お礼
ありがとうございました。
補足
ありがとうございました。 早速やってみました。確かに空白時には抽出結果無しになったのですがテキストボックスに 検索文字を入れても何も表示されなくなりました。 iif関数を入力して、一旦保存し閉じたクエリを開いてみると IIF(IsNull([Forms]![品名検索フォーム]![品名検索]),"",([品名クエリ].[品名]) Like "*" & [Forms]![品名検索フォーム]![品名検索] & "*") というようにクエリ名とフィールド名が自動的に付加されてました。 これは問題ないのですよね? というか勝手についてしまうので・・・ 何も表示されなくなることについて、何か考えられることはありますか? 何度もすみません。お時間ありましたらよろしくお願いいたします。
お礼
2度の回答ありがとうございました。 こちらにアドバイスいただいた条件でうまくいきました。 本当にありがとうございました。