Foxtable(狐表)用户栏目专家坐堂 → 怎样用Find查找到第2个、第3个符合条件的行?


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

主题:怎样用Find查找到第2个、第3个符合条件的行?

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
怎样用Find查找到第2个、第3个符合条件的行?  发帖心情 Post By:2008/9/23 16:00:00 [只看该作者]

如题。在易表中,可以用FindText直接查到第X个符合条件的行,并直接返回第X个符合条件的行的列值,在狐表中这样的查询如何实现?
[此贴子已经被作者于2008-9-23 16:02:01编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/9/23 16:18:00 [只看该作者]

呵呵,别用find,用select,一次全部找出来了,你要第几个都行。


Select

以集合的形式,返回所有符合指定条件的行。

语法:

Select(Filter)
Select(Filter,Sort)

Filter: 条件表达式
Sort: 可选参数,指定排序方式

例如希望列出1999年1月4日订购PD01产品的客户:

Dim dt As DataTable = DataTables("订单")
Dim
drs As List(Of DataRow) '定义一个DataRow集合。
drs = dt.
Select("[产品] = 'PD01' And [日期]= #1/4/1999#")
If
drs.Count = 0 Then
    Output.Show(
"1999年1月4日无人订购产品PD01。")
Else

    Output.Show(
"1999年1月4日订购产品PD01的客户名单:")
   
For Each dr As Datarow In drs
        Output.Show(dr(
"客户") & ":" & dr("数量"))
   
Next
End
If

如果你希望按订购数量的多少来排序客户名单,只需将下面一行代码:

drs = dt.Select("[产品] = 'PD01' And [日期]= #1/4/1999#")

修改为:

drs = dt.Select("[产品] = 'PD01' And [日期]= #1/4/1999#","数量 DESC")

我们利用可选参数Sort,指定按数量列降序排列,也就是按数量从多到少排列。


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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2008/9/23 16:20:00 [只看该作者]

明白了,谢谢!


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


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2008/9/23 17:28:00 [只看该作者]

请教本段代码放在哪个事件中还是做成按钮啊

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


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

以下是引用唐尸三摆手在2008-9-23 17:28:00的发言:
请教本段代码放在哪个事件中还是做成按钮啊


用在你需要使用的地方,那里都行。


 回到顶部