【Access】チェックボックス一括チェック
Accessの分割フォームで下段にテーブルが表示されフィルター機能などテーブルで使用できる機能が使えます。 フィルターをかけたテーブルのチェックリストに対して一括でチェックを入れることができないので、VBAで作成しました。 単純なコードで実現できるのでお試しください。
ちなみに今回はチェックボックスがtrueのものをレポート印刷するために作成しました。 印刷したいレコードだけフィルタで表示させコードを登録したボタンを押すという流れです。 ついでに一括でチェックを外すコードも書いておきます。
'---------------------- '一括印刷チェック '---------------------- Private Sub Btn_check_Click() Dim rs As DAO.Recordset If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord 'アクティブなフォームの現在のレコードを保存 Set rs = Me.Recordset.Clone Do Until rs.EOF '表示されているレコード全てに対してチェックボックスをtrue rs.Edit rs!印刷チェック = True rs.Update rs.MoveNext Loop Me.Refresh End Sub '---------------------- '印刷チェック解除 '---------------------- Private Sub Btn_clear_Click() Dim sql As String sql = "UPDATE 物品購入リスト " sql = sql & "SET [印刷チェック] = false;" DoCmd.SetWarnings False DoCmd.RunSQL sql DoCmd.SetWarnings True Me.Refresh End Sub