Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样随机按"班"抽取学生名单


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

主题:[求助]怎样随机按"班"抽取学生名单

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/9/3 14:42:00 [只看该作者]

以下是引用程兴刚在2008-9-3 7:18:00的发言:
czy版主的附件好像抽取出来每组多一人!

这样呢?

Dim bjs As List(Of String) = DataTables("表A").GetUniqueValues("","班级")
Dim cnt As Integer = e.Form.Controls("Number").Value-1
'DataTables("表A").StopRedraw()
DataTables("表A").DataCols.Add("随机数",GetType(Integer))
For Each dr As Datarow In DataTables("表A").DataRows
    dr("随机数") = Rand.Next()
Next
Tables("抽样").DataTable.DataRows.Clear()
Tables("表A").Sort = "随机数"
For Each bj As String In bjs
    Tables("表A").Filter = "班级 = '" & bj & "'"
    For i As integer = 0 To Math.Min(cnt,Tables("表A").Rows.Count)
        dim r As Row = Tables("抽样").AddNew()
        r("班级")  = Tables("表A").Rows(i)("班级")
        r("姓名")  = Tables("表A").Rows(i)("姓名")
    Next
Next
DataTables("表A").DataCols.Delete("随机数")
DataTables("表A").ResumeRedraw()
Maintable = Tables("抽样")


程版,你的代码看起来没有问题,但实际是错误的,因为你减1减的不是地方。
可以这么测试一下,假如1班只有8人,而抽取的学生是10名,这时代码应该会报错,删时列不能删除。


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


加好友 发短信
等级:婴狐 帖子:11 积分:346 威望:0 精华:0 注册:2012/4/9 19:06:00
  发帖心情 Post By:2014/11/3 13:28:00 [只看该作者]

请问这个附件已经损坏了,怎么才能下载学习啊?

 回到顶部
总数 12 上一页 1 2