Foxtable(狐表)用户栏目专家坐堂 → [求助]怎么随机抽取数据?


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

主题:[求助]怎么随机抽取数据?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/2 9:19:00 [显示全部帖子]

可以,没有问题.


你可以上个例子,我帮你完成.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/2 9:24:00 [显示全部帖子]

取第二列5个

Dim ilist As new List(of Integer)
Do While ilist.count < 5
    Dim i As Integer = Rand.Next(0,Tables("表A").Rows.count-1)
    If ilist.Contains(i)=False Then
          ilist.Add(i)
    End If
Loop
For Each i As Integer In ilist
  output.show(Tables("表A").Rows(i)("第二列"))
Next

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/2 9:32:00 [显示全部帖子]

你是在2000左右  例如1999  2001  还是必须标准2000整呢?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/2 9:33:00 [显示全部帖子]

4楼代码并不符合你的要求. 你这个是要累加某列的值.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/2 9:44:00 [显示全部帖子]

你有些行,单独这一行就3000多了

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/2 9:46:00 [显示全部帖子]

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


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/2 9:46:00 [显示全部帖子]

开发版 4688

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/2 9:56:00 [显示全部帖子]

更新2014版本吧.

或者把如下代码复制到 按钮Click事件中,或者放到命令窗口去执行


Dim c As Integer
Dim ilist As new List(of Integer)
Do While c < 2000
    Dim i As Integer = Rand.Next(0,DataTables("新区").dataRows.count-1)
    If ilist.Contains(DataTables("新区").dataRows(i)("_Identify"))=False AndAlso (c+DataTables("新区").dataRows(i)("套数"))<2050 Then
          ilist.Add(DataTables("新区").dataRows(i)("_Identify"))
          c= c+DataTables("新区").dataRows(i)("套数")
    End If
Loop
Dim ids As String
For Each i As Integer In ilist
   ids = ids & "," & i
Next
Tables("新区").Filter="_Identify in (" & ids.trim(",") & ")"
MessageBox.show("抽选后的套数为: " & Tables("新区").Compute("sum(套数)"))

 回到顶部