【问题标题】:How can I uncheck an entire column of checkboxes?如何取消选中一整列复选框?
【发布时间】:2017-08-28 04:00:19
【问题描述】:

如何取消选中一整列复选框? 我的访问表中的每条记录都有一个字段,该字段有一个复选框,随着时间的推移,我选中了复选框,但在重置的最后,我想在拆分表单上放置一个按钮,该按钮将取消选中所有框。

这是表“tblData1”上的第二个字段“Acct”,我想从“frmMain”表单中控制它使用按钮“cmdResetAcct”

提前谢谢你!

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    您可以直接在按钮的 OnClick 事件中使用已有的记录集:

    Dim rs As DAO.Recordset
    
    Set rs = Me.RecordsetClone
    If rs.RecordCount > 0 Then
        rs.MoveFirst
    End If
    
    While Not rs.EOF
        If rs!Acct.Value = True Then
            rs.Edit
                rs!Acct.Value = False
            rs.Update
        End If
        rs.MoveNext
    Wend
    
    Set rs = Nothing
    

    这非常快,您的表单会立即更新。

    【讨论】:

    • 谢谢,它工作得很好,除了它只能工作一次,除非我关闭表单并再次打开它?有什么办法可以改变吗?
    • 此代码中的任何内容都不会阻止它被多次调用,但请使用 MoveFirst 查看编辑后的答案。
    【解决方案2】:

    运行 UPDATE 查询。

    CurrentDb.Execute "UPDATE tblData1 SET Acct = False WHERE Acct <> False"
    

    WHERE 子句使其效率更高,因为只写入检查的行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-16
      • 1970-01-01
      • 2013-08-15
      • 1970-01-01
      • 2021-05-20
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多