以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于查询筛选问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88889)

--  作者:jason_pitt
--  发布时间:2016/8/11 8:25:00
--  关于查询筛选问题

老师,您好,关于查询筛选的问题,就是我建立了一个查询窗口,然后在一个组合筛选框里面选择几个条件的时候,往往筛选不出来,但是只选择一个条件,就可以筛选出来,是什么原因了,谢谢


--  作者:2900819580
--  发布时间:2016/8/11 9:06:00
--  
上代码,应该是And 连接那里设置错了,或者like用错了,我之前也这样。
--  作者:Hyphen
--  发布时间:2016/8/11 9:07:00
--  
参考http://www.foxtable.com/webhelp/scr/1058.htm
--  作者:大红袍
--  发布时间:2016/8/11 9:55:00
--  
参考3楼的设计,或者贴出你写的代码。
--  作者:jason_pitt
--  发布时间:2016/8/11 18:58:00
--  
Dim Filter As String
With e.Form.Controls("CheckedComboBox1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "断面名称= \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "所在河流= \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("ComboBox3")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "测站名称= \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("ComboBox4")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "备注= \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "监测月份 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "监测月份 <= #" & .Value & "#"
    End If
End With
If Filter > "" Then
    Tables("宜昌市2016年地表水监测数据统计").Filter = Filter

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
End If
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:jason_pitt
--  发布时间:2016/8/11 18:58:00
--  
这是这个窗口的代码,断面名称选择两个,按开始筛选,一个就筛选不出来,要是直选一个,就可以出来
--  作者:大红袍
--  发布时间:2016/8/11 20:21:00
--  

Filter = Filter & "断面名称= \'" & .Value & "\'"

 

改成

 

Filter = Filter & "断面名称 in (\'" & .Value.Replace(",", "\',\'") & "\')"


--  作者:jason_pitt
--  发布时间:2016/8/11 20:55:00
--  
好的,谢谢