Foxtable(狐表)用户栏目专家坐堂 → [求助]请教多种筛选组合使用的代码


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

主题:[求助]请教多种筛选组合使用的代码

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


加好友 发短信
等级:幼狐 帖子:134 积分:1313 威望:0 精华:0 注册:2012/10/31 14:21:00
[求助]请教多种筛选组合使用的代码  发帖心情 Post By:2012/11/10 10:49: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


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


加好友 发短信
等级:幼狐 帖子:134 积分:1313 威望:0 精华:0 注册:2012/10/31 14:21:00
  发帖心情 Post By:2012/11/10 11:52:00 [显示全部帖子]

谢谢楼上的狐友,学习中

 

楼主能不能加点说明,特别是

 

Dim filter1 As String = "1=2"

msgbox("(" & filter1 & ") And (" & filter2 & ")")

这二句能说明下不,

或者告诉下哪里可以查看相关的资料


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


加好友 发短信
等级:幼狐 帖子:134 积分:1313 威望:0 精华:0 注册:2012/10/31 14:21:00
  发帖心情 Post By:2012/11/10 12:14:00 [显示全部帖子]

明白了,谢谢


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


加好友 发短信
等级:幼狐 帖子:134 积分:1313 威望:0 精华:0 注册:2012/10/31 14:21:00
  发帖心情 Post By:2012/11/10 15:41:00 [显示全部帖子]

这个脚本怎么实现不了功能,

弹出提示错误的窗口了

 

259d83cc.form---'(窗口标题)

(1=2 or 状态='合')and (1=2)---'(窗口内容)

 

什么情况?

 

 


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


加好友 发短信
等级:幼狐 帖子:134 积分:1313 威望:0 精华:0 注册:2012/10/31 14:21:00
  发帖心情 Post By:2012/11/10 16:13:00 [显示全部帖子]

图片点击可在新窗口打开查看

这是单点状态合格时的图片,确定后返回空值。

我发现个情况,

单选一个,或单选一种状态的多个选项时都会出错,且返回空值,

 

二种状态都选,至少选一个时,搜索是对的


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


加好友 发短信
等级:幼狐 帖子:134 积分:1313 威望:0 精华:0 注册:2012/10/31 14:21:00
  发帖心情 Post By:2012/11/12 9:59: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 filter1 As String

If filter1 > "" Then
    If hg.Checked Then
        filter1 = filter1 & " or 状态 = '合格' "
    End If
   
    If ds.Checked Then
        filter1 = filter1 & " or 状态 = '待审' "
    End If
   
    If yqx.Checked Then
        filter1 = filter1 & " or 状态 = '己取消'"
    End If
    Tables("信息表").Filter = filter1
Else
    Tables("信息表").Filter = ""
End If


 回到顶部