- ベストアンサー
Accessのリストボックスを使った抽出方法の設定について
- Accessのリストボックスを使用した抽出用フォームを作成していますが、リストボックスを何も選択しなかった場合にすべての項目が表示されるようにしたいです。
- 現在の設定では、担当を選択しなかった場合に何も抽出されないため、すべての項目を表示する方法を知りたいです。
- 抽出用フォームのリストボックスを選択しなかった場合、すべての項目を表示する設定方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
現クエリをSQLビューで見た時、担当の抽出条件部分は 担当 = [Forms]![Form-抽出]![担当リストボックス] となっていると思いますが、以下の様に書き換えてどうなりますか。 IIF(IsNull([Forms]![Form-抽出]![担当リストボックス]),TRUE,担当 = [Forms]![Form-抽出]![担当リストボックス])
その他の回答 (2)
- 30246kiku
- ベストアンサー率73% (370/504)
#2です > A1の抽出条件:IIf([forms]![Form-抽出]![A1]=True,True,False) この部分をSQLビューで見ると A1 = IIf([forms]![Form-抽出]![A1]=True,True,False) となっていると思いますが、担当 と同様な書き方にしてみます。 IIf([forms]![Form-抽出]![A1]=True,A1=True,True) チェックボックスが True なら、A1=True の条件とします。 False なら 無条件で True とします。 A2 も同様に書き換えてみます。
お礼
30246kiku様 色々とありがとうございました。 IIf([forms]![Form-抽出]![A1]=True,True,A1=True) 上記の設定をA1、A2に行ったところ、無事希望の動作を確認する事が出来ました。 初心者の私にでもわかる様に教えて頂き、大変感謝しております。 本当にありがとうございました。
- 30246kiku
- ベストアンサー率73% (370/504)
([Forms]![Form-抽出]![担当リストボックス])=NULL の記述では判定できなかったと思います。 IsNull([Forms]![Form-抽出]![担当リストボックス]) とか IsNull([Forms]![Form-抽出]![担当リストボックス]) = TRUE とか ([Forms]![Form-抽出]![担当リストボックス]) Is Null とか になったと思います。 担当を選択して出来ていた時のクエリのSQLビューでの 担当記述の前後を含めて 提示してもらえませんか。 また、[担当リストボックス]の初期値は何になっていますか。
補足
30246kiku様 お世話になっています。詳しい説明ありがとうございました。 教えて頂いた設定を行い、色々とテストしてみた結果、下記の事がわかりました。 Form-抽出で抽出した結果です。 (1)A1のみチェックした場合→正常な結果が出ました。 (2)A2のみチェックした場合→正常な結果が出ました。 (3)A1とA2をチェックした場合→正常な結果が出ました。 (4)A1とA2にチェック、担当も設定した場合→正常な結果が出ました。 (5)A1、A2、担当に何も設定しない場合→何も抽出されません。 そこで、テーブルAを使ってA1、A2のチェックボックスだけの動作確認をしました。 (6)A1のみチェックした場合→正常な結果が出ました。 (7)A2のみチェックした場合→正常な結果が出ました。 (8)A1とA2をチェックした場合→正常な結果が出ました。 (9)A1、A2のチェックをしなかった場合→何も抽出されません。 次に、テーブルBを使って担当リストボックスだけの動作確認をしました。 (10)リストボックスから何か選択した場合→正常な結果が出ました。 (11)何も選択しない場合→すべて表示(希望の結果が出ました。) リストボックスの方の問題だと思っていたのですが、チェックボックスの方の設定にも問題があった様です。 大変申し訳ありませんでした。 チェックボックスは下記の設定をしております。 A1の抽出条件:IIf([forms]![Form-抽出]![A1]=True,True,False) A2の抽出条件:IIf([forms]![Form-抽出]![A2]=True,True,False) A1、A2のチェックをしなかった場合にすべて表示される様にする方法を教えて頂ければ幸いです。 どうぞよろしくお願い致します。
補足
30246kiku様、早速の回答ありがとうございます。 クエリで確認をしてみましたが、「実行時エラー'2001' 直前の操作はキャンセルされました。」と表示されました。 IIF(([Forms]![Form-抽出]![担当リストボックス])=NULL,TRUE,担当 = [Forms]![Form-抽出]![担当リストボックス]) として確認してみましたが、何も抽出されてきませんでした。 よろしくお願い致します。