以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 怎么筛选出集合里有包含的值的行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95073)

--  作者:ufo20085
--  发布时间:2017/1/9 17:08:00
--  [求助] 怎么筛选出集合里有包含的值的行?
Dim drs1,drs2 As List(Of DataRow)
drs1 = DataTables("报关单数据201516").Select("[申报日期] >= #1/1/2015# And [申报日期] < #1/1/2016#")
drs2 = DataTables("报关单数据201516").Select("[申报日期] >= #1/1/2016# And [申报日期] < #1/1/2017#")
Dim names1,names2 As new List(of String)
For Each dr1 As DataRow In drs1
    If names1.Contains(dr1("经营单位编号")) = False Then
        Names1.Add(dr1("经营单位编号"))
    End If
Next
For Each dr2 As DataRow In drs2
    If names2.Contains(dr2("经营单位编号")) = False AndAlso names1.Contains(dr2("经营单位编号"))=False Then
        Names2.Add(dr2("经营单位编号"))
    End If
Next

如代码所示,我已经筛选出了两个集合names1 和 names2
我怎么让我的tables("报关单数据201516")筛选出集合names2中包含的经营单位编号的所有行呢?

--  作者:有点色
--  发布时间:2017/1/9 17:31:00
--  
Dim names1 As String = DataTables("报关单数据201516").GetComboListString("经营单位编号", "[申报日期] >= #1/1/2015# And [申报日期] < #1/1/2016#")
Tables("报关单数据201516").filter = "[申报日期] >= #1/1/2016# And [申报日期] < #1/1/2017# and 经营单位编号 not in (\'" & names1.Replace("|", "\',\'") & "\')"