以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有否根据不同的单元格提取不同元素的快捷方法?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177036)

--  作者:gudao123456
--  发布时间:2022/5/7 10:53:00
--  有否根据不同的单元格提取不同元素的快捷方法?
需要由表A中的某一行的几个单元格的数据(这些单元格之间有重复的数据),生成表B某一列的下拉列表,有什么比较快捷的方法?谢谢!

或者是,如何由提取单元格不重复数据生成数组的快捷方法。谢谢! 关键是重复数据的排除
[此贴子已经被作者于2022/5/7 11:15:30编辑过]

--  作者:有点蓝
--  发布时间:2022/5/7 11:35:00
--  
参考:http://www.foxtable.com/webhelp/topics/1457.htm


--  作者:gudao123456
--  发布时间:2022/5/7 15:03:00
--  
这个还是不能完全符合要求,有可以从符合条件的多列提取的方法或函数吗?比如像这样:s = DataTables("表A").GetComboListString("列1","列2","列3","[行号] = \'10\'")  
我试过,直接用GetComboListString(ColumnName,Filter, Sort) 是无法多列取值。
[此贴子已经被作者于2022/5/7 15:03:32编辑过]

--  作者:有点蓝
--  发布时间:2022/5/7 15:23:00
--  
分别取值合并到一起即可

s = DataTables("表A").GetComboListString("列1","[行号] = \'10\'") & "|" & s = DataTables("表A").GetComboListString("列2","[行号] = \'10\'") & ....

--  作者:gudao123456
--  发布时间:2022/5/7 16:32:00
--  
关键是 列1 与 列2 之间有相同的数据,我需要把冗余数据的剔除

比如:列1=“苹果,龙眼”   列2=“荔枝,龙眼,香瓜” ,这里的“龙眼”出现了2次,必须去掉1个“龙眼”
[此贴子已经被作者于2022/5/7 16:34:30编辑过]

--  作者:有点蓝
--  发布时间:2022/5/7 17:06:00
--  
dim lst as list(of string) = DataTables("表A").Getvalues("列1","[行号] = \'10\'")
for each s as string in DataTables("表A").Getvalues("列2","[行号] = \'10\'")
if lst.contains(s) = false then lst.add(s)
next
s = string.join("|",lst.toarray)
msgbox(s)

--  作者:gudao123456
--  发布时间:2022/5/7 17:09:00
--  
谢谢!