Foxtable(狐表)用户栏目专家坐堂 → [求助]集合的值循环查询后返回匹配的值,并形成新的集合


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

主题:[求助]集合的值循环查询后返回匹配的值,并形成新的集合

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


加好友 发短信
等级:幼狐 帖子:102 积分:1013 威望:0 精华:0 注册:2020/3/24 13:46:00
[求助]集合的值循环查询后返回匹配的值,并形成新的集合  发帖心情 Post By:2022/8/31 23:31:00 [只看该作者]

总共3个集合

 

Dim Q1 As List(Of String)

 这个集合里包含了(123,234,345,456,567,789,110,156

Dim Q2 As List(Of String)

 这个集合里包含了(12,78,11,15


想实现这样的目的:依次查询集合Q2的值,是否包含于集合Q1的值里,如果包含,则返回集合Q1对应的值,并生成集合Q3

 如下:

Dim Q3 As List(Of String)

运行后,形成集合Q3,包含了(123,789,110,156

 

请问老师,如何实现?


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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/1 8:59:00 [只看该作者]

Dim Q1 As new List(Of String)
Q1.add("123")
Q1.add("234")
Q1.add("789")
Dim Q2 As new List(Of String)
Q2.add("12")
Q2.add("78")
Dim Q3 As new List(Of String)
for each s as string in Q2
for each s2 as string in Q1
if s2.contains(s) then
Q3.add(s2)
exit for
end if
next
next

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


加好友 发短信
等级:幼狐 帖子:102 积分:1013 威望:0 精华:0 注册:2020/3/24 13:46:00
  发帖心情 Post By:2022/9/2 0:20:00 [只看该作者]


[此贴子已经被作者于2022/9/2 0:26:07编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18231 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/9/2 8:36:00 [只看该作者]

按题主的意思,if s2.contains(s) then,这个似乎是用 s2 like "*" & s & "*" 


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


加好友 发短信
等级:幼狐 帖子:102 积分:1013 威望:0 精华:0 注册:2020/3/24 13:46:00
  发帖心情 Post By:2022/9/2 22:31:00 [只看该作者]

是的。你的理解是对的。蓝老师理解偏了。谢谢。

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


加好友 发短信
等级:幼狐 帖子:102 积分:1013 威望:0 精华:0 注册:2020/3/24 13:46:00
[求助][求助]集合的值循环查询后返回匹配的值,并形成新的集合  发帖心情 Post By:2022/9/3 0:20:00 [只看该作者]

我想表达的是4楼的意思。

我摸索了好几天,还是未实现功能。我把实例上传了。请蓝老师指点。

附件中:
表<仪器台账>中的仪器编号、仪器名称、仪器备注,合并成了'仪器使用'。这几个信息都要体现在本表"使用的仪器"下拉框中。现在的问题是:表<仪器台账>中的"仪器备注"是随时变化的,这就导致了“仪器使用”列也在变化,进而导致本表"使用的仪器"下拉框时,认为是不同的仪器(其实仪器编号未变,则就是相同的仪器)。应该怎样修改才能实现:即使修改了“仪器备注”,只要仪器编号相同,则仍然识别为同一台设备,进而实现本表“使用的仪器”下拉选项不会出现相同的仪器编号。

提前并对比前5个字符是否可行?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/3 9:31:00 [只看该作者]

回4楼、5楼,这2个用法完全是一样的,功能一样,你们有测试过吗!!上面是字符串的contains,不是集合的contains
Output.Show("123456".Contains("345"))
Output.Show("123456" Like "*345*")
[此贴子已经被作者于2022/9/3 11:21:02编辑过]

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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/3 9:34:00 [只看该作者]

至于6楼的项目,没看懂想表达的是什么意思?

使用的仪器到底想出现怎么样的下拉?使用具体数据举例说明,怎么样的结果是重复的,怎么样的结果是不重复的?

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


加好友 发短信
等级:幼狐 帖子:102 积分:1013 威望:0 精华:0 注册:2020/3/24 13:46:00
[求助]  发帖心情 Post By:2022/9/3 10:41:00 [只看该作者]


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

请蓝老师指点。

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


加好友 发短信
等级:超级版主 帖子:107739 积分:548028 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/9/3 11:52:00 [只看该作者]

要这样处理,但是效率比较低,表格操作会比较卡。建议增加辅助列,然后使用下拉窗口

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 (8).zip



 回到顶部