以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]有点甜老师,返回上一步筛选。  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=164289)

--  作者:tygzjsl
--  发布时间:2021/5/4 22:12:00
--  [求助]有点甜老师,返回上一步筛选。
经过多步筛选后,想返回上一步的
Tables("A").ApplyFilter = False,这个回到最初状态啦,撤销一个条件后,返回上一步筛选结果。谢谢!

--  作者:有点蓝
--  发布时间:2021/5/5 9:04:00
--  
没有这种功能。

自己做:可以使用集合记录每一个步骤的筛选条件,返回上一步就从集合删除最后一个项目,然后取集合的最后一项作为筛选条件

--  作者:tygzjsl
--  发布时间:2021/5/5 9:24:00
--  
非常感谢!
--  作者:tygzjsl
--  发布时间:2021/5/5 9:45:00
--  
你好老师我的筛选条件是这样的。
Dim Filter As String = "1=1"
With e.Form.Controls("textbox1")
    If .Value IsNot Nothing Then
        Filter = Filter & " and 科类 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("textbox2")
    If .Value IsNot Nothing Then        
        Filter = Filter & " and 录取批次 like  \'%" & .Value &   "%\'"
    End If
End With
With e.Form.Controls("textbox3")
    If .Value IsNot Nothing Then
        Filter = Filter & " and 院校名称 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("textbox4")
    If .text <> Nothing Then
        Dim flt As String = "1=2"
        For Each s As String In .text.split(" ")
            flt &= " or 院校名称 like \'%" & s & "%\' or 专业名称 like \'%" & s & "%\'"
        Next
        filter &= " and (" & flt & ")"
    End If
End With

With e.Form.Controls("ComboBox1")
    If .Value IsNot Nothing Then
        Filter &= " and 年度 in (\'" & .Value.replace(",", "\',\'") & "\')"
    End If
End With



Tables("高考信息查询表汇总").Filter = Filter 
Tables("高考信息查询表汇总").Sort = "院校名称,专业名称 desc,年度 desc,最低分分数 desc"

应该怎么加集合,小白啊,不懂啊。不想重新筛选,会影响速度吧,想回到上一步。非常谢谢!

--  作者:有点蓝
--  发布时间:2021/5/5 9:57:00
--  
定义一个全局变量:http://www.foxtable.com/webhelp/topics/1450.htm

public lst as new List(of string)

筛选按钮
……
lst.add(Filter )
Tables("高考信息查询表汇总").Filter = Filter 
Tables("高考信息查询表汇总").Sort = "院校名称,专业名称 desc,年度 desc,最低分分数 desc"

上一步按钮
if lst.count <= 1 then
Tables("高考信息查询表汇总").Filter = ""
else
lst.removeat(lst.count  - 1)
Tables("高考信息查询表汇总").Filter = lst(lst.count  - 1)
end if

--  作者:tygzjsl
--  发布时间:2021/5/5 10:46:00
--  
非常感谢!辛苦啦
--  作者:tygzjsl
--  发布时间:2021/5/5 11:02:00
--  
非常感谢!辛苦啦