![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
抽出用のフォームを作成しているのですが、その中にリストボックスがあり、何も選択しなかった場合は、すべての項目が表示される様にしたいと思っております。自分なりに色々と調べたのですが、どうしても希望の動作になりません。どの様にすれば良いのか教えて頂けないでしょうか?
Access2003を使用しております。
Form-A(メインフォーム名)←テーブルAを元に作成(項目名同じ)
番号(主キー)、氏名、性別、A1、A2・・・
A1、A2は、する・しないのどちらかを入力。
Form-B(サブフォーム名)←テーブルBを元に作成(項目名同じ)
ID(主キー)、番号、担当、訪問日、次回訪問日、期間
担当は、値集合タイプ:テーブル/クエリ、値集合ソース:テーブルあ(フィールドは担当のみ)5名程の名前を登録しし、リストボックスにて選択できる様にしています。
現在、下記の様な抽出用のフォームがあります。
Form-抽出(抽出用フォーム名)
A1(チェックボックス)
A2(チェックボックス)
担当(リストボックス:値集合タイプ:テーブル/クエリ、値集合ソース:テーブルあを設定)
[OK]ボタンを押すと抽出(クエリQにて条件を設定)する様にしています。
クエリQ(テーブルA、テーブルBを元に作成)
番号(主キー)、氏名、性別、A1、A2、ID(主キー)、番号、担当、訪問日、次回訪問日、期間
現在設定しているのは、
A1の抽出条件:IIf([forms]![Form-抽出]![A1]=True,True,False)
A2の抽出条件:IIf([forms]![Form-抽出]![A2]=True,True,False)
担当の抽出条件:[Forms]![Form-抽出]![担当リストボックス]
訪問日の抽出条件(複数情報がある為、最近の訪問日のデータのみ対象となる様にしています。):DMax("訪問日","テーブルB","[テーブルB]![番号] ='" & [テーブルB]![番号] & "' And 訪問日 <Date()")
今の設定ですと、担当を選択しなかった場合、何も抽出されてきません。
これを、すべて表示出来る様にしたいのが希望です。
Access初心者の為、説明がわかりづらかったり情報が足りないかもしれませんが、すぐに補足致しますので、どうぞよろしくお願い致します。
No.1ベストアンサー
- 回答日時:
現クエリをSQLビューで見た時、担当の抽出条件部分は
担当 = [Forms]![Form-抽出]![担当リストボックス]
となっていると思いますが、以下の様に書き換えてどうなりますか。
IIF(IsNull([Forms]![Form-抽出]![担当リストボックス]),TRUE,担当 = [Forms]![Form-抽出]![担当リストボックス])
この回答への補足
30246kiku様、早速の回答ありがとうございます。
クエリで確認をしてみましたが、「実行時エラー'2001' 直前の操作はキャンセルされました。」と表示されました。
IIF(([Forms]![Form-抽出]![担当リストボックス])=NULL,TRUE,担当 = [Forms]![Form-抽出]![担当リストボックス])
として確認してみましたが、何も抽出されてきませんでした。
よろしくお願い致します。
No.3
- 回答日時:
#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に行ったところ、無事希望の動作を確認する事が出来ました。
初心者の私にでもわかる様に教えて頂き、大変感謝しております。
本当にありがとうございました。
No.2
- 回答日時:
([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のチェックをしなかった場合にすべて表示される様にする方法を教えて頂ければ幸いです。
どうぞよろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、抽出したデータだ...
-
未審査請求包袋抽出表作成とは...
-
access クエリ yes/no型のクエ...
-
Excel 文字列から6桁の数値の抽出
-
PDFファイルから特定の文字を検...
-
Accessの選択クエリの抽出条件...
-
エクセルで色の付いたセルを抽...
-
【AccessVBA】レコードセットOp...
-
ACCESS クエリ 条件以外のレ...
-
AccessのWHERE句において、変数...
-
アクセス 同じフィールド(テキ...
-
Access2016でのfilter後に並べ...
-
【エクセルVBA】 A1セルを参照...
-
Accessのリストボックスを使っ...
-
GIMP前景抽出について
-
Access チェックボックスを利用...
-
ボーカルだけを抽出したいのですが
-
AdvancedFilter 検索 複数条件
-
ACCESSのフォームからレポート...
-
「パラメータが少なすぎます。3...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、抽出したデータだ...
-
AccessのWHERE句において、変数...
-
未審査請求包袋抽出表作成とは...
-
「パラメータが少なすぎます。3...
-
PDFファイルから特定の文字を検...
-
X-Ripperというフリーウェアに...
-
エクセルで色の付いたセルを抽...
-
ACCESSのクエリー抽出条件にIIF...
-
【AccessVBA】レコードセットOp...
-
PDFファイル/抽出許可され...
-
access クエリ yes/no型のクエ...
-
ACCESS クエリ 条件以外のレ...
-
エクセル VBA メール本文に指定...
-
Excel 文字列から6桁の数値の抽出
-
アクセス 同じフィールド(テキ...
-
Access チェックボックスを利用...
-
エクセル関数で住所から丁目番...
-
Accessの選択クエリの抽出条件...
-
コンボボックス全ての値を取得...
-
AdvancedFilter 検索 複数条件
おすすめ情報