使用VBA

时间:2015-07-09 13:39:11

标签: vba ms-access filter access-vba

我一直在添加Access联系人模板以创建一个可以管理联系人的数据库,并且打开的主窗体有一个填充了所有联系信息的数据表。我为每个项目选中了复选框功能。如果选中此框,则可以对所有选中的复选框项运行某些操作。我创建了一个可以一次选择/取消选择所有联系人的宏。

但我想要做的是启用它,这样当你点击按钮时,它只选择当前显示的项目。因此,如果我在表单中应用过滤器,让我们说Zip Code,我可以点击将改变" Action"领域到"是"这样我就可以对其进行操作(批量发送电子邮件,将所有内容导出到Outlook,创建地址标签,删除等)。

在Excel中,可以使用.visible类型的东西来完成,但似乎并不像访问那样的函数。我已经通过创建recordset数据完成了所有其他方法,但此recordset不会使用相同的过滤器。

如果我能提供任何其他信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

要设置复选框的值,您可以使用0或-1。 -1表示已检查,0表示未选中vba

Me.checkboxname.Value = -1

现在你可以做的是选择表单中的所有复选框,从按钮创建一个函数或onclick事件的子,并添加应检查所有框的代码:

'code not tested but should work fine
Dim ctrl As Control '//, chbox As CheckBox

For Each ctrl In DAO.Controls 
    If Typeof ctrl Is MSForms.CheckBox Then 
         '// Set chbox = ctrl
           Me.ctrl.value = -1  
        End If 
    End If 
Next ctrl