Access (VBA)

Access VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10全般 : Access 2016)
チェックボックスのTrueと全レコードをそれぞれ抽出する方法
投稿日時: 21/08/31 15:16:36
投稿者: hana_brenda

いつもありがとうございます。ほかの業務に専念していたもので、上達しておりませんが、教えていただけますでしょうか。
 
 
フォームのチェックボックスで参加したものにチェックを付けています。
 
フォームヘッダーにチェックボックス(chb_参加)を設け、チェックを入れて抽出ボタンをクリックすると参加したものだけが抽出されます。(抽出ボタンにはほかにも検索条件が登録されています。)
 
コードの一部です。
 
Dim chkBln As Boolean, RecSrc As String
 
   chkBln = chb_参加
 
   RecSrc = "Select * From Q_入札結果クエリ Where 参加 = " & chkBln
 
   Me.RecordSource = RecSrc
 
成功したと思い使用しておりましたが、チェックを外して抽出ボタンをクリックすると、参加していないもの(全データ数−参加した件数)のみが抽出されていることに気付きました。
全データを表示するためにはどうすればよろしいでしょうか?
 
似たような質問がありましたが、応用ができず、フォームヘッダーにチェックボックスではなくコンボボックスを設けるなど試そうとしましたが、知識不足でできませんでした。
ご教示お願い致します。
 

回答
投稿日時: 21/08/31 16:38:36
投稿者: Suzu

チェックボックス にチェックが入る場合 そのチェックボックスは True(Yes)となります。
 
チェックボックスの値を、そのままレコードソースのWHERE句に利用するのではなく
 
チェックボックスの値 によって 条件分岐を行い
 チェックあり → WHERE句 あり
           SELECT 〜 FROM 〜 WHERE 参加 = True;
 
 チェックなし → WHERE句 なし
           SELECT 〜 FROM 〜 ;
 
とすれば良いでしょう。

トピックに返信