以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何排除重复值的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129492) |
-- 作者:304376480 -- 发布时间:2018/12/29 15:56:00 -- 如何排除重复值的问题 老师您好! 问题不太好描述,所以直接上了实例! 我想做一个可以批量往仓库中放入商品资料的窗口,所以仓库中已有的商品不能显示在窗口中, 比如:往A仓库放商品则只显示A仓库以外的商品,而且不显示A仓库中已有的商品ID 也就是说:示例中选择A仓库,应该只显示商品 14,16 才是正确的!
选择B仓库,应该只显示商品 1,5,6,16 才是正确的! 不知从何下手,请老师帮助! |
-- 作者:有点蓝 -- 发布时间:2018/12/29 16:30:00 -- Dim Filter As String If e.sender.text = "" Then Filter = "" Else Filter = "[仓库] <> \'" & e.sender.text & "\'" Dim str As String = DataTables("产品").GetComboListString("商品ID","[仓库] = \'" & e.sender.text & "\'") Filter = Filter & " and 商品ID not in (\'" & str.Replace("|","\',\'") & "\')" End If Tables("窗口1_Table1").Filter = Filter |
-- 作者:304376480 -- 发布时间:2018/12/29 22:41:00 -- 完美解决,谢谢啦! 只是还有点疑问,这种把仓库中所有的商品都列出来比较的话,如果商品数量成千上万的时候,会卡或者崩溃吗?
[此贴子已经被作者于2018/12/29 23:15:05编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/12/30 9:38:00 -- 以下是引用304376480在2018/12/29 22:41:00的发言:
完美解决,谢谢啦! 只是还有点疑问,这种把仓库中所有的商品都列出来比较的话,如果商品数量成千上万的时候,会卡或者崩溃吗?
[此贴子已经被作者于2018/12/29 23:15:05编辑过]
1、这种查询本来效率就比较低,具体有多低,你自行测试;
2、你可以添加辅助列处理,那些已经确定重复的值,加一个标记,下次直接筛选标记列,不需要重复这样操作。
|
-- 作者:304376480 -- 发布时间:2018/12/30 16:58:00 -- 以下是引用有点甜在2018/12/30 9:38:00的发言:
辅助列?是添加一个字符列,然后把商品的所在仓库用数组{A,B,C}标记出来吗?
2、你可以添加辅助列处理,那些已经确定重复的值,加一个标记,下次直接筛选标记列,不需要重复这样操作。
|
-- 作者:有点甜 -- 发布时间:2018/12/30 17:23:00 -- 以下是引用304376480在2018/12/30 16:58:00的发言:
辅助列?是添加一个字符列,然后把商品的所在仓库用数组{A,B,C}标记出来吗?
比较叫做【A显示】列,所有满足条件的行,设置为true,不满足的设置成false,下次筛选,直接筛选 a显示=true 的行。
|
-- 作者:304376480 -- 发布时间:2018/12/30 18:35:00 -- 好的,谢谢了,现在先不研究这个了,以后有需要再来搞吧! |