【问题标题】:Continuous Form, Delete button for selected Rows连续表格,选定行的删除按钮
【发布时间】:2013-12-10 14:23:38
【问题描述】:

我有这样的表格:

当我选择多行时,我希望表单底部的删除按钮删除我选择的所有记录。它只是最终删除了我选择的第一行。试图研究获取所选记录的函数的 vba 代码,而我遇到的只是,

DoCmd.RunCommand acCmdDeleteRecord

这不会选择所有选定的条目。有什么办法吗?

【问题讨论】:

    标签: ms-access vba ms-access-2010


    【解决方案1】:

    请记住,您可以通过单击一条记录的记录选择器(每个客户名称左侧的灰色矩形)并按删除键来逐一删除记录而无需代码。您可以对多个相邻记录执行相同操作。如果你想删除多条不相邻的记录,你需要做一个大的改变:在源表中添加一个像chkDelete这样的字段,并添加一个绑定的复选框。构建完成后,您可以调用删除查询来删除 chkDelete=True 的所有行。

    【讨论】:

    • 嗯,我明白了,我正在尝试添加一个复选框,但是当我选择一个复选框时,所有复选框都会被选中,我将如何避免这种情况
    • @Thatdude1 如果您将未绑定的 Checkbox 控件添加到表单,则会发生这种情况。控件不绑定到每条记录中的字段,因此控件的状态以连续形式在所有行之间共享。这就是为什么 pteranodon 说你需要在表中添加一个 Yes/No 字段并将 Checkbox 控件绑定到该字段。
    • 您可以将除选择复选框之外的所有控件的Locked 属性设置为Yes