Foxtable(狐表)用户栏目专家坐堂 → 随机数问题


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

主题:随机数问题

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


加好友 发短信
等级:五尾狐 帖子:1060 积分:7009 威望:0 精华:0 注册:2020/11/4 22:15:00
随机数问题  发帖心情 Post By:2024/3/22 12:52:00 [只看该作者]

需求:将已数据,生成记录,星期六,星期天不生成数据,生成随机数=总数?
也就是如何实现将表A生成表B?

表A
编号     总数    系数    开始日期      
D01    1000    3      2024-3-11    
D02    2000    2      2024-3-15    
注:2024-3-16,2024-3-17是星期六,星期天,不生数据


需求结果显示:
表B
编号     总数    系数    开始日期      随机数
D01    1000    3      2024-3-11    330
D01    1000    3      2024-3-12    337
D01    1000    3      2024-3-13    333
D02    2000    2      2024-3-15    1020
D02    2000    2      2024-3-18    980


[此贴子已经被作者于2024/3/22 12:58:59编辑过]

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


加好友 发短信
等级:狐精 帖子:3049 积分:20399 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/3/22 13:23:00 [只看该作者]

如果是3个数生成随机数,排除0和500,那么有两个随机数是1-499,剩余的随机数就用总数减去前面连个随机数
Dim Val1 As Integer = Rand.Next(1, 499) '生成1到499之间的随机整数
Dim Val2 As Integer = Rand.Next(1, 499) '生成1到499之间的随机整数
Dim Val3 As Integer = 100 - Val1 - Val2 

Output.show(Val1)
Output.show(Val2)
Output.show(Val3)
[此贴子已经被作者于2024/3/22 13:24:01编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1060 积分:7009 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/3/22 13:35:00 [只看该作者]

可能我表达不清
表B是根据表A的数据生成,

需求:如何将“A的数据,星期六,星期天,不生数据,生成表B的数据?

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/22 13:44:00 [只看该作者]

dim nr as row
for each r as row in tables("a").rows
dim xs as integer = r("系数")
dim d as date = r("开始日期")
dim zs as integer = r("总数")
do while xs > 0
nr = tables("b").addnew
if d.DayOfWeek=6 then d = d.adddays(2)
if d.DayOfWeek=0 then d = d.adddays(1)
nr("编号")=r("编号")
nr("开始日期")=d
if xs = 1
nr("随机数") = zs
else
nr("随机数")=Rand.Next(1, zs)
zs = zs - nr("随机数") 
end if
loop
[此贴子已经被作者于2024/3/22 14:21:43编辑过]

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


加好友 发短信
等级:狐精 帖子:3049 积分:20399 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/3/22 14:10:00 [只看该作者]

zs = zs - nr("随机数") 
end if
Loop
next
我测试结果不对

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


加好友 发短信
等级:五尾狐 帖子:1060 积分:7009 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2024/3/22 15:12:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:窗口,生成随机数,Button1,Click
详细错误信息:
“minValue”不能大于 maxValue。
参数名: minValue

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/22 15:33:00 [只看该作者]

……
zs = zs - nr("随机数") 
end if
xs = xs - 1
loop

 回到顶部