以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 随机选取过程中按顺序展示动态效果 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178641) |
-- 作者:sysckj -- 发布时间:2022/7/13 12:50:00 -- 随机选取过程中按顺序展示动态效果 现有一个人员信息表,需要从其中随机抽取百分比人数,百分比不为整数时数量+1,抽取过程中需要按抽取顺序动态展示被抽中的人员名字,人员信息表中我添加了一个状态字段,如果是抽中的人员需要标记为“已选取”,未抽中的更新为“未选取”。 |
-- 作者:有点蓝 -- 发布时间:2022/7/13 13:17:00 -- http://www.foxtable.com/webhelp/topics/2963.htm |
-- 作者:sysckj -- 发布时间:2022/7/13 13:38:00 -- 回复:(有点蓝)http://www.foxtable.com/webhelp/to... 现在就是用的这个,其他的不知道怎么处理 |
-- 作者:有点蓝 -- 发布时间:2022/7/13 13:43:00 -- 其它什么东西不知道怎么处理? |
-- 作者:sysckj -- 发布时间:2022/7/13 13:54:00 -- 回复:(有点蓝)其它什么东西不知道怎么处理? 1、固定人数设置为百分比,不为整数+1 2、选取过程中更新状态字段 3、选取过程按选取顺序逐个展示名字
|
-- 作者:有点蓝 -- 发布时间:2022/7/13 13:59:00 -- 1、不就是简单的数学计算?加上表格有100行,取9%,就是100 * 0.09,取整参考:http://www.foxtable.com/webhelp/topics/0272.htm 2、参考帮助里的“选择”逻辑列的用法 3、弹出显示不就行了,比如 Dim cnt As Integer = DataTables("订单").DataRows.Count Dim nds As Integer = 100 \'要抽取的记录数 Tables("订单").StopRedraw() DataTables("订单").ReplaceFor("选择",False) Do Dim idx As Integer = rand.Next(0,cnt) Dim dr As DataRow = DataTables("订单").DataRows(idx) If dr("选择") = False Then dr("选择") = True msgbox(dr("姓名")) nds = nds - 1
End If Loop While nds > 0 Tables("订单").Filter = "[选择] = True" Tables("订单").ResumeRedraw() |