Microsoft Access 掲示板

クエリのフィールドに式の記述 / 2

3 コメント
views
4 フォロー
2

オプションボタン(1Or2)によりコンボボックスのリスト項目を変更したい(終息除く分、終息も含める分)のでコンボボックスのフォーカス取得後イベントにRowSourceをIFで切り替えをVBAコード記述してます。

RowSourceに設定したクエリに抽出条件を設定するなら、hirotonさんの回答のような条件になりますね。

オプショングループとコンボボックスが同じフォームにあるのなら、フォーム名は省略することができますので下記でもいいですね。

Where (終息=False Or 終息=([opb_syusoku]=2))

コンボボックスのフォーカス取得後イベントでコンボボックスを再クエリします。


RowSourceにはSQLも設定できますので、VBAを使うなら、RowSourceにSQLを設定してもいいですね。
そうするとクエリ自体が不必要になりクエリが増えて管理が煩雑ということがなくなります。

Private Sub cmb_syouhin_GotFocus()
    If Me.opb_syusoku = 1 Then
        Me.cmb_syouhin.RowSource = "SELECT * FROM 商品テーブル WHERE 終息 = False;"
    Else
        Me.cmb_syouhin.RowSource = "商品テーブル"
    End 
End Sub
通報 ...