以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=25381) |
-- 作者:boooxu -- 发布时间:2012/11/7 22:04:00 -- [求助] 请各位大大指导下。以下这段代码想实现筛选符合三种条件所有行 但是怎么勾选其中一个的时候正确,同时勾二个或者三个就出错, 我是菜鸟,希望高手能指导下代码的错误
Tables("信息表").filter = "" Dim hg As WinForm.CheckBox = e.Form.Controls("CheckBox1") With e.Form.Controls("CheckBox1") With e.Form.Controls("CheckBox2") With e.Form.Controls("CheckBox3") Tables("信息表").Filter = Filter1 & Filter2 & filter3 \'这句能不能通过这样实现并列三条种条件一起? |
-- 作者:boooxu -- 发布时间:2012/11/7 22:08:00 -- 说明下哦,以上代码就是筛选表格的状态符合以下三种情况的总行数
状态:O合格 O待审 O己取消 以上O是指的复选框。指表格同一列,列的题头是“状态” |
-- 作者:sgs -- 发布时间:2012/11/7 22:12:00 -- 条件组合到一起是吗,照理说你这个应该是三个不同状态,应该做成单选啊,怎么会是复选呢 [此贴子已经被作者于2012-11-7 22:14:52编辑过]
|
-- 作者:boooxu -- 发布时间:2012/11/7 22:16:00 -- 是呀,我这要组合三种条件在一起。
要符合条件一+符合条件二+符合条件三 |
-- 作者:sgs -- 发布时间:2012/11/7 22:18:00 -- 按你的思路应该是这样吧 Dim Filter As String |
-- 作者:boooxu -- 发布时间:2012/11/7 22:29:00 -- 谢谢楼上的兄弟,马上调试 好像不行,和我的情况一样,单选可以。 选二个或三个就会出现空值 |
-- 作者:szp2012 -- 发布时间:2012/11/7 22:29:00 -- 试试 Tables("信息表").Filter = Filter1 and Filter2 and filter3 \' |
-- 作者:boooxu -- 发布时间:2012/11/7 22:30:00 -- 有朋友告诉我了,发上来分享下,
Tables("信息表").filter = ""
Dim hg As WinForm.CheckBox = e.Form.Controls("CheckBox1") Dim ds As WinForm.CheckBox = e.Form.Controls("CheckBox2") Dim yqx As WinForm.CheckBox = e.Form.Controls("CheckBox3") Dim Filter As String
With e.Form.Controls("CheckBox1") If hg.checked = True Then If Filter > "" Then Filter = Filter & " or 状态 = \'合格\'" Else Filter = " 状态 = \'合格\'" End If End If End With
With e.Form.Controls("CheckBox2") If ds.checked = True Then If Filter > "" Then Filter = Filter & " or 状态 = \'待审\'" Else Filter = " 状态 = \'待审\'" End If End If End With
With e.Form.Controls("CheckBox3") If yqx.checked = True Then If Filter > "" Then Filter = Filter & " or 状态 = \'己取消\'" Else Filter = " 状态 = \'己取消\'" End If End If End With
Tables("信息表").Filter = Filter |