以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]过滤条件的写法  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=89645)

--  作者:青鸟
--  发布时间:2016/8/26 9:00:00
--  [求助]过滤条件的写法
下面代码,想得到的结果是:flt = 商品ID <> 001 AND 商品ID <> 002 AND 商品ID <> 003,请教怎么写?谢谢
Dim flt As String
Dim Lst As New List(Of String)
Dim Arys() As String
Lst.Add( "001")
Lst.Add("002")
Lst.Add("003")
Arys = Lst.ToArray() 
For Each dr As String In lst
    flt = "商品ID <>" & dr
    flt = flt & " And "
\'msgbox(dr)
msgbox(flt)
Next

--  作者:Hyphen
--  发布时间:2016/8/26 9:08:00
--  
Dim flt As String
Dim Lst As New List(Of String)
Dim Arys() As String
Lst.Add( "001")
Lst.Add("002")
Lst.Add("003")
Arys = Lst.ToArray() 
For Each dr As String In lst
    flt &= "商品ID <>" & dr
    flt = flt & " And "
\'msgbox(dr)

Next
flt = flt.SubString(0,flt.Length - 4)
msgbox(flt)

--  作者:青鸟
--  发布时间:2016/8/26 9:32:00
--  
追问:

实际代码如下,麻烦帮看看有没有问题,红色代码是有错的,蓝色代码正确吗?
Dim flt As String
Dim spID() As DataRow
Dim drs As List(Of DataRow)
drs = DataTables("单价").Select("[定价日期]= \'#& Date.Today &#\'")
\'
spID = drs.ToArray()
For Each dr As DataRow In drs
   If dr IsNot Nothing Then
      flt &= "[商品ID] <> \'"& dr("商品ID")"\'" & " And "
   End If
Next
flt = flt.SubString(0,flt.Length - 4)
msgbox(flt)

Tables("录入商品窗口_Table1").Filter = flt


--  作者:Hyphen
--  发布时间:2016/8/26 9:46:00
--  
drs = DataTables("单价").Select("[定价日期]= \'# " & Date.Today & "#\'")


flt &= "[商品ID] <> \'" & dr("商品ID") & "\' And "

--  作者:青鸟
--  发布时间:2016/8/26 15:49:00
--  
谢谢,但有个新问题:
Tables("录入商品窗口_Table1").Filter = “商品ID =\'001\'" 语句,在DropDownForm类型窗口中无效吗?我是写在 AfterLoad事件中的
--  作者:大红袍
--  发布时间:2016/8/26 16:13:00
--  

 写到 DropDownOpened 事件


--  作者:青鸟
--  发布时间:2016/8/26 16:38:00
--  
谢谢,正确了