如何让Syscmd.Filter.Contains()和Syscmd.Filter.Between()合并成一个?
主要是这个“Syscmd.Filter.Contains()”其完整代码是如何实现?
设计一个下图所示的筛选窗口:

重要提示:用于输入查询内容的各输入框,切不可绑定到任何列,这是初学者很容易犯的一个错误。
设计步骤
1、插入一个组合框,改名为“cmbProduct”,列表项目设为“PD01|PD02|PD03|PD04|PD05”,用于输入要筛选的产品。
2、插入一个组合框,改名为“cmbCustomer”,列表项目设为“CS01|CS02|CS03|CS04|CS05”,用于输入要筛选的客户。
3、插入一个组合框,改名为“cmbEmployee”,列表项目设为“EP01|EP02|EP03|EP04|EP05”,用于输入要筛选的雇员。
4、插入一个日期输入框,改为名“StartDate”,用于输入开始日期。
5、插入一个日期输入框,改为名“EndDate”,用于输入结束日期。
6、插入三个单选框,名称分别设为"rdoAll"、"rdoYifu"、"rdoWeifu",标题分别设为"全部"、"已付"、"未付"。
7、插入三个按钮,标题和Click事件代码按下表所示设置。
标题 | Click事件代码 |
清除条件 | e.Form.Controls("cmbProduct").Value = Nothing e.Form.Controls("cmbCustomer").Value = Nothing e.Form.Controls("cmbEmployee").Value = Nothing e.Form.Controls("StartDate").Value = Nothing e.Form.Controls("EndDate").Value = Nothing e.Form.Controls("rdoAll").Checked = True |
撤销筛选 | Tables("订单").ApplyFilter = False |
开始筛选 | Dim Filter As String With e.Form.Controls("cmbProduct") If .Value IsNot Nothing Then Filter = "产品 = '" & .Value & "'" End If End With With e.Form.Controls("cmbCustomer") If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "客户 = '" & .Value & "'" End If End With With e.Form.Controls("cmbEmployee") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "雇员 = '" & .Value & "'" End If End With With e.Form.Controls("StartDate") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "日期 >= #" & .Value & "#" End If End With With e.Form.Controls("EndDate") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "日期 <= #" & .Value & "#" End If End With If e.Form.Controls("rdoYifu").Checked = True ' 如果付款状态选择了"已付" If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "已付款 = True" End If If e.Form.Controls("rdoWeifu").Checked = True ' 如果付款状态选择了"未付" If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "已付款 = False Or 已付款 Is Null" End If If Filter > "" Then Tables("订单").Filter = Filter End If
|