Foxtable(狐表)用户栏目专家坐堂 → 如何使用checked控制筛选问题


  共有3074人关注过本帖树形打印复制链接

主题:如何使用checked控制筛选问题

帅哥哟,离线,有人找我吗?
wh420
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
如何使用checked控制筛选问题  发帖心情 Post By:2017/2/22 0:49:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目8.foxdb


最近在研究用checked控制筛选的问题,问题如下:
1、当checkbox1被选中时按两个datatimepicker控件给出的日期范围筛选;当checkbox2被选中时按combobox1 and combobox2的值 进行筛选。如果两个checkbox都被选中则按两个日期及两个combobox的值一起筛选
2、如何改变任意一个下拉表的内容时同时筛选内容也跟着变化?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/22 8:46:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
wh420
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2017/2/22 9:18:00 [只看该作者]

那个帮助看了,还是不了解应该在哪些事件写代码,因为要联动。

 回到顶部
帅哥哟,离线,有人找我吗?
wh420
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2017/2/22 9:19:00 [只看该作者]

难道所有的带有下拉列表的都要写代码

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/22 9:57:00 [只看该作者]

以下是引用wh420在2017/2/22 9:19:00的发言:
难道所有的带有下拉列表的都要写代码

 

你可一做个按钮,统一把代码放到按钮中执行

 

如果想在每个日期或者check改变后就执行筛选,可以隐藏按钮,然后在日期控件ValueChanged调用按钮的执行方法:http://www.foxtable.com/webhelp/scr/2309.htm

 

当然也可以把代码放到函数中

 


 回到顶部
帅哥哟,离线,有人找我吗?
wh420
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/22 11:00:00 [只看该作者]

 每个复选框,用一个 If then End If

 

 这样,勾选以后,就合并成条件,你四个勾选,自然合并成四个条件了。


 回到顶部
帅哥哟,离线,有人找我吗?
wh420
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2017/2/22 11:25:00 [只看该作者]

明白了,非常感谢两位老师。

 回到顶部