以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何使用checked控制筛选问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96485) |
-- 作者:wh420 -- 发布时间:2017/2/22 0:49:00 -- 如何使用checked控制筛选问题 最近在研究用checked控制筛选的问题,问题如下: 1、当checkbox1被选中时按两个datatimepicker控件给出的日期范围筛选;当checkbox2被选中时按combobox1 and combobox2的值 进行筛选。如果两个checkbox都被选中则按两个日期及两个combobox的值一起筛选 2、如何改变任意一个下拉表的内容时同时筛选内容也跟着变化?
|
-- 作者:有点蓝 -- 发布时间:2017/2/22 8:46:00 -- 参考:http://www.foxtable.com/webhelp/scr/1058.htm
|
-- 作者:wh420 -- 发布时间:2017/2/22 9:18:00 -- 那个帮助看了,还是不了解应该在哪些事件写代码,因为要联动。 |
-- 作者:wh420 -- 发布时间:2017/2/22 9:19:00 -- 难道所有的带有下拉列表的都要写代码 |
-- 作者:有点色 -- 发布时间:2017/2/22 9:47:00 -- 1、直接判断checked,然后合成条件即可
http://www.foxtable.com/webhelp/scr/1058.htm
2、参考
http://www.foxtable.com/webhelp/scr/1523.htm
|
-- 作者:有点蓝 -- 发布时间:2017/2/22 9:57:00 -- 以下是引用wh420在2017/2/22 9:19:00的发言:
难道所有的带有下拉列表的都要写代码
你可一做个按钮,统一把代码放到按钮中执行
如果想在每个日期或者check改变后就执行筛选,可以隐藏按钮,然后在日期控件ValueChanged调用按钮的执行方法:http://www.foxtable.com/webhelp/scr/2309.htm
当然也可以把代码放到函数中
|
-- 作者:wh420 -- 发布时间:2017/2/22 10:57:00 -- 明白些了,并且写了日期的那个下拉列表,如果兼顾那四个复选框,这个逻辑判断应该怎样写? Dim Filter As String Dim dtp1 As WinForm.DateTimePicker = Forms("收入管理").Controls("DateTimePicker1") Dim dtp2 As WinForm.DateTimePicker = Forms("收入管理").Controls("DateTimePicker2") Dim cbox1 As WinForm.ComboBox = e.Form.Controls("ComboBox1") Dim cbox2 As WinForm.ComboBox = e.Form.Controls("ComboBox2") Dim chbox1 As WinForm.CheckBox = e.Form.Controls("C1") Dim chbox2 As WinForm.CheckBox = e.Form.Controls("C2") Dim chbox3 As WinForm.CheckBox = e.Form.Controls("C3") Dim d As Date = Date.today If chbox1.Checked =True Then With dtp1 If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "日期 >= #" & .Value & "#" End If End With With dtp2 If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "日期 <= #" & .Value & "#" End If End With ElseIf chbox2.Checked =True Then With cbox1 If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "收入项目 = \'" & .Value & "\'" End If End With End If msgbox(filter) If Filter > "" Then Tables("收入管理_Table1").Filter = Filter End If |
-- 作者:有点色 -- 发布时间:2017/2/22 11:00:00 -- 每个复选框,用一个 If then End If
这样,勾选以后,就合并成条件,你四个勾选,自然合并成四个条件了。 |
-- 作者:wh420 -- 发布时间:2017/2/22 11:25:00 -- 明白了,非常感谢两位老师。 |