Foxtable(狐表)用户栏目专家坐堂 → 学习中的疑惑GetUniqueValues(Filter, Col1, Col2, Col3....)


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

主题:学习中的疑惑GetUniqueValues(Filter, Col1, Col2, Col3....)

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


加好友 发短信
等级:婴狐 帖子:32 积分:431 威望:0 精华:0 注册:2012/9/6 19:17:00
学习中的疑惑GetUniqueValues(Filter, Col1, Col2, Col3....)  发帖心情 Post By:2012/9/12 13:37:00 [只看该作者]

语法:

GetUniqueValues(Filter, Col1, Col2, Col3....)

Filter: 条件表达式,请参考表达式的运算符和函数条件表达式
Col1: 指定列名称,可以指定多列。

如果只从一列中提取不重复值,那么返回的是一个字符串集合;如果从多列中提取不重复值,那么返回的是一个字符串数组集合,数组的长度等于指定的列数。

在执行以下示例之前,请打开CaseStudy目录下的示例文件"统计演示.Table"。

示例一

列出1999年6月1日后订购过PD01产品的客户名单:

Dim Customers As List(Of String)
Customers
= DataTables("订单").GetUniqueValues("[产品]= 'PD01' And [日期] > #6/1/1999#", "客户")
For
i As Integer = 0 To Customers.Count - 1 '其实用For Each好一点,这里只是顺便提供遍历集合的另一种用法。
Output.Show(Customers(i
))
Next

 

问:为何输出的结果是

CS01
CS02
CS03
CS04
CS05

而不是:

CS03

CS04

CS01

CS02

CS05

GetUniqueValues函数不是按照取到第一个不相同的字符按顺序保存在Customers字符列表里的吗?


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/9/12 14:06:00 [只看该作者]

 这个问题不说还真不知道...默认排序了吧。

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


加好友 发短信
等级:婴狐 帖子:32 积分:431 威望:0 精华:0 注册:2012/9/6 19:17:00
  发帖心情 Post By:2012/9/12 14:14:00 [只看该作者]

如果真是默认排序了,应该在帮助文档里加上函数说明吧,要不然这个函数应用在程序里时,哪里出错都不知道呀,也或许是我理解错了,还希望版主能帮忙解释一下

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


加好友 发短信
等级:婴狐 帖子:32 积分:431 威望:0 精华:0 注册:2012/9/6 19:17:00
  发帖心情 Post By:2012/9/12 14:27:00 [只看该作者]

Dim Customers As List(Of String)
Customers = DataTables("订单").GetUniqueValues("[产品]= 'PD01' And [日期] > #6/1/1999#", "客户")
For Each i As String In Customers  '用For Each 结果是一样的,都是进行了排序
Output.Show(i)
Next

 回到顶部