以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  通过集合来过滤table的加载内容问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=63337)

--  作者:affixed
--  发布时间:2015/1/19 10:19:00
--  通过集合来过滤table的加载内容问题
我有一张表A,如下:
第一列 第二列 第三列 ...
A 数据 True
B 数据 False
C 数据 False
B 数据 True
B 数据 False
B 数据 False
A 数据 False
B 数据 True
B 数据 False
B 数据 True
.
.
.
我有个集合,项目为A、B
希望将第一列的内容如果是包含在集合Li中的并且第三列值为True的数据filter出来,请问这个filter字符串该怎么写。我现在有些晕了。
我写的代码是:
Dim Li As New List(of String) = {"A","B","C"}
Dim filter As String = "[第三列] = True And "
For Each Value As String In Li
filter = filter & "And " & Tables("qgList").cols("第一列") & " = \'" & Value & "\'"
Next
Tables("表A").Filter = filter

--  作者:Bin
--  发布时间:2015/1/19 10:20:00
--  
Dim filter As String = "[第三列] = True "
For Each Value As String In Li
filter = filter & "And 第一列 = \'" & Value & "\'"
Next

--  作者:Bin
--  发布时间:2015/1/19 10:23:00
--  
或者
Dim filter As String = "[第三列] = True And "
dim ids as string
For Each Value As String In Li
ids = ids & ",\'" & Value & "\'"
Next
Tables("表A").Filter = filter & "第一列 in (" & ids.trim(",") & ")"

--  作者:有点甜
--  发布时间:2015/1/19 10:23:00
--  

Dim Li As String() = {"A","B","C"}
Dim filter As String = "1=2"
For Each Value As String In Li
    filter = filter & " or 第一列 = \'" & Value & "\'"
Next
filter = "第三列 = true and (" & filter & ")"

msgbox(filter)


--  作者:gua12gua
--  发布时间:2015/1/19 10:28:00
--  
顶顶顶顶顶顶顶顶顶顶