Microsoft Access 掲示板

チェックボックスの一括Offの方法

5 コメント
views
4 フォロー

テーブルのYes/No型フィールドをフォームに配置し、チェックボックスとして表示しています。
Yes/No型フィールドは4つありますので、フォームに配置しているチェックボックスも合計で4つあります。

チェックするときは一人ずつ確認しながらするので面倒ではないのですが、チェックが終わり解除するときに4つのチェックボックスを一つずつ解除していくのにはとても大変です。
そこでコマンドボタンで一括OffができるVBAがあれば便利ではないかと思い色々調べましたが、私の検索能力では該当するものがなく困っています。

わかる方いらっしゃいましたら是非教えて頂ければと思います。
宜しくお願い致します。

daril
作成: 2021/05/07 (金) 09:35:38
通報 ...
1
hiroton 2021/05/07 (金) 09:46:51 eb8fa@f966d

テーブルのデータを一括で変更するのだから更新クエリを実行すればいいのでは?

2
daril 2021/05/07 (金) 14:06:46 3e392@b524f

hiroton様
使いやすいようフォームでの操作がしたいです。

3

更新クエリを作成しておいて、フォーム上のコマンドボタンクリックでその更新クエリを実行するようにすればいいでしょう。
更新クエリを実行した後は、フォームの再クエリをすることで更新が反映されます。

4

別案としてフォームのレコードセットを直接更新する方法も提示しておきます。
Yes/No型フィールドの名前は、chk1, chk2, chk3, chk4 と仮定したコードですので実際のものに変更して使用してください。

Private Sub ボタン_Click()
    With Me.RecordsetClone
        .MoveFirst
        Do until .EOF
            .Edit
            !Chk1 = False
            !Chk2 = False
            !Chk3 = False
            !Chk4 = False
            .Update
            .MoveNext
        Loop
    End With
End Sub

5
daril 2021/05/10 (月) 11:48:13 3e392@b524f

hatena様
コードのご提示ありがとうございます。
無事解決いたしました。