以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 复选框筛选 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=14856) |
-- 作者:实话实说 -- 发布时间:2011/12/4 21:03:00 -- 复选框筛选
以下是筛选代码,请帮我修改一下
Dim Filter As String Dim chk1 As WinForm.CheckBox = Forms("中兴明细").Controls("出仓") With e.Form.Controls("型号") With e.Form.Controls("开始日期") If Filter > "" Then
[此贴子已经被作者于2011-12-4 22:26:27编辑过]
|
-- 作者:mr725 -- 发布时间:2011/12/4 22:52:00 -- 把前两段with....end with 代码放到最后面去就可以了,不过要重新定义 filter 改为 filter1 试试看。 [此贴子已经被作者于2011-12-4 22:52:44编辑过]
|
-- 作者:实话实说 -- 发布时间:2011/12/5 6:48:00 -- 这样也不行 Dim Filter As String With e.Form.Controls("型号") With e.Form.Controls("开始日期") Dim chk As WinForm.CheckBox = Forms("中兴明细").Controls("入仓") With e.Form.Controls("出仓") If Filter > "" Then |
-- 作者:狐狸爸爸 -- 发布时间:2011/12/5 9:05:00 -- 在代码的最后加三行:
MessageBox.show("Filter1 =" & Filter1) MessageBox.show("Filter =" & Filter) MessageBox.show("生效的 =" & Tables("中兴明细").Filter )
你就知道原因了。
你下面的代码意义何在:
If Filter > "" Then
只要Filter不为空才执行,而且Filter不为空的时候,最终将筛选条件设置成Filter了,和Filter1没有任何关系了。 [此贴子已经被作者于2011-12-5 9:04:42编辑过]
|
-- 作者:实话实说 -- 发布时间:2011/12/5 10:11:00 -- 以下是引用狐狸爸爸在2011-12-5 9:05:00的发言:
在代码的最后加三行:
MessageBox.show("Filter1 =" & Filter1) MessageBox.show("Filter =" & Filter) MessageBox.show("生效的 =" & Tables("中兴明细").Filter )
你就知道原因了。
你下面的代码意义何在:
If Filter > "" Then
只要Filter不为空才执行,而且Filter不为空的时候,最终将筛选条件设置成Filter了,和Filter1没有任何关系了。 [此贴子已经被作者于2011-12-5 9:04:42编辑过] 我有些愚笨,麻烦帮我完善,我再学习和琢磨. |
-- 作者:狐狸爸爸 -- 发布时间:2011/12/5 10:21:00 -- 我不明白你为什么要分开Filter和Filter,一个不就行啦吗:
Dim Filter As String
|