带有清除选项的多个组合框过滤器

我运气不好

特定控件,它们的属性和过去的循环。 我以为我会分享这段代码,随时以适合您需要的任何方式进行修改/模块化。 可以从组合框after_update事件或“ clear_filter”按钮after_update事件中调用此函数。 我把它放在一个模块中。 哦,还有一件事...我碰巧在组合框的第1列中有我的FK,这可能需要更改。 抱歉,如果我“评论过多”,由于评论不佳,我迷失了很多次。 如果有更好的方法可以完成此操作,请随时告诉我,根据我的经验,vba的访问权限仅限于此区域。

Public Function frmSearch_cbxFilter(Optional clear As Boolean) 
Dim frm As Form
Dim sbFrm As SubForm
Dim ctrl As Control
Dim cbxItem As Variant
Dim cbxValue As Variant
Dim strFilter As String
Dim count As Integer
Dim i As Integer 
    Set frm = Forms!frmSearch
    Set sbFrm = frm!sbfrmProdDetailSearch 
    cbxItem = Array("cbxUser", "cbxDepartment", "cbxComment")   '"Named" Comboboxes
    cbxValue = Array("userID", "departmentID", "commentID")     'Filter Fields | Count must match cbxItem
    count = UBound(cbxItem, 1)                                  'Number of elements in array 
    strFilter = "1=1" 
    If clear Then                                               'Clear set to true
        For i = 0 To count
            For Each ctrl In frm.Controls                       'Every control on form
                If ctrl.Name = cbxItem(i) Then                  'Only "Named" controls on form
                    ctrl.Value = ""                             'Clear control value
                End If
            Next
        Next
        sbFrm.Form.FilterOn = False
    Else                                                        'Clear not set
        For i = 0 To count
            For Each ctrl In frm.Controls                       'Every control on form
                If ctrl.Name = cbxItem(i) Then                  'Only "Named" controls on form
                    If Not IsNull(ctrl.Column(1)) Then          'Only update filter if control contains a value
                        strFilter = strFilter & " AND [" & cbxValue(i) & "]=" & ctrl.Column(1) 'Build filter
                    End If
                End If
            Next
        Next 
        sbFrm.Form.Filter = strFilter
        sbFrm.Form.FilterOn = True
    End If 
End Function
祝好运。 :)

From: https://bytes.com/topic/access/insights/861547-multiple-combobox-filter-clear-option

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值