Foxtable(狐表)用户栏目专家坐堂 → 求助一段筛选代码..


  共有8699人关注过本帖树形打印复制链接

主题:求助一段筛选代码..

帅哥哟,离线,有人找我吗?
even0898
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
求助一段筛选代码..  发帖心情 Post By:2012/12/29 19:28:00 [只看该作者]

Dim drs As List(of DataRow)
drs = DataTables("客户报价表").Select("")
For Each dr As DataRow In drs
    Tables("客户报价物料选择_table1").Filter = "料号 <> '" & dr("OPN") & "'"
Next

 

Tables("客户报价物料选择_table1")中的“料号”和tables("客户报价表")中的字段"OPN"值相同的,就不加载要怎么写?

我这样写只能筛选掉一个,要筛选掉全部相同的该怎么写呢?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/12/29 21:03:00 [只看该作者]

给你一些参考资料:

 

In 运算符用来判断某一个值是否在指定的一系列值中,例如:

[国籍] In ('中国','美国','英国','法国','俄罗斯')

表示判断国籍是否是上述五国之一,显然这比用OR来连接多个表达式要简洁很多。

记得数值型的列,值不要用单引号括起来,例如:

[订单号] In (1, 3, 4, 6, 7,12)

而日期型的列,值需要用符号#括起来,例如:

[日期] In (#7/2/2012#, #7/12/2012#, #8/30/2012#)

同样如果在 In 运算符之前,加上 Not 关键词,表示不在指定的一系列值之中,例如:

[国籍] Not In ('中国','美国','英国','法国','俄罗斯')

 

 

 

http://www.foxtable.com/help/topics/2410.htm

http://www.foxtable.com/help/topics/2228.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
even0898
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
  发帖心情 Post By:2012/12/29 21:50:00 [只看该作者]

Dim ls As List (of String) = DataTables("客户报价表").GetUniqueValues("","OPN")
For Each l As String In ls
 Tables("客户报价物料选择_table1").Filter = "料号 not in (" & l & ")"
msgbox(l)
Next

狐爸,我用MSGBOX提到了OPN,但是FIlter这里还是不会写啊,好像我这样写出来是列名。。帮我改下咯


 回到顶部
帅哥哟,离线,有人找我吗?
even0898
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
  发帖心情 Post By:2012/12/29 21:53:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:111.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
even0898
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
  发帖心情 Post By:2012/12/29 22:02:00 [只看该作者]

Dim ids As String
For Each dr As DataRow In DataTables("客户报价表").DataRows
    ids = ids & "," & dr("OPN")
Next
ids= ids.Trim(",")
Tables("客户报价物料选择_table1").Filter = "料号 not In (" & ids & ")"

根据提示写了,还是出现上面的错误...


 回到顶部
帅哥哟,离线,有人找我吗?
even0898
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
  发帖心情 Post By:2012/12/30 11:11:00 [只看该作者]

For Each dr As DataRow In DataTables("客户报价表").DataRows
    Tables("客户报价物料选择_table1").DataTable.loadFilter ="料号 not in (" & dr("OPN") & " ) "
msgbox(dr("OPN"))
Next

图片点击可在新窗口打开查看这样子也不行,筛选不到,MSGBOX 可以正确显示筛选到OPN,可是tables就是不能正确筛选,求指点。。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/12/30 23:47:00 [只看该作者]

你那个列是字符型的吧,如果这样,应该

 

 

Dim ids As String
For Each dr As DataRow In DataTables("客户报价表").DataRows
     ids = ids & ",‘" & dr("OPN") &”’“
Next
ids= ids.Trim(",")
Tables("客户报价物料选择_table1").Filter = "料号 not In (" & ids & ")"


 回到顶部
帅哥哟,离线,有人找我吗?
even0898
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:186 积分:1294 威望:0 精华:0 注册:2011/8/17 17:29:00
  发帖心情 Post By:2012/12/31 8:32:00 [只看该作者]

谢谢狐狸爸爸,果然是这样图片点击可在新窗口打开查看


 回到顶部