以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何根据已知条件生成随机数? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=173159) |
||||
-- 作者:lgz518 -- 发布时间:2021/11/17 9:27:00 -- 如何根据已知条件生成随机数? 1,表A和表B关联,已知表A的上限,中限,下限,如何生成B关联的随机数? 2,在EXECL中是使用下面公式,在狐表中如何实现?具体如图所示: =((25.8+RAND()/11)+(25.8-RAND()/11))/2,
|
||||
-- 作者:有点蓝 -- 发布时间:2021/11/17 9:30:00 -- 参考:http://www.foxtable.com/webhelp/topics/0349.htm |
||||
-- 作者:lgz518 -- 发布时间:2021/11/17 10:14:00 -- Select Case e.DataCol.Name Case "第二列", "第三列" Dim d As Double = ((e.DataRow("第二列") + Rand.Next()/11)+ (e.DataRow("第二列") - Rand.Next()/11))/ 2 e.DataRow("第四列") = d End Select 用这个上面代码生成一数据,不是需求的要的值,如何上面求?
|
||||
-- 作者:有点蓝 -- 发布时间:2021/11/17 10:19:00 -- 计算规则是什么? |
||||
-- 作者:lgz518 -- 发布时间:2021/11/17 10:33:00 -- 1.是根据表A的上限和中限和下限的条件,生成随机,看EXCEL的公式,它是 以主表表A的中限数生成明细表B的随机数,如一楼的图,EXCEL的公式的值25.8是主表的中限的值,以此按其公式生成明细表B的随机数。 |
||||
-- 作者:有点蓝 -- 发布时间:2021/11/17 10:42:00 -- 请详细说明计算规则。我没有时间去反推您的公式 现在3楼的额代码计算结果是怎么样的?怎么样才是正确的结果?
|
||||
-- 作者:lgz518 -- 发布时间:2021/11/17 11:03:00 --
|
||||
-- 作者:有点蓝 -- 发布时间:2021/11/17 11:26:00 -- 这个意思? Select Case e.DataCol.Name Case "上限", "下限" for ia s integer = 1 to 15 dim r as row = tables("表B").addnew r("A") = ((e.DataRow("中限") + Rand.Next(e.DataRow("下限"),e.DataRow("上限"))/11)+ (e.DataRow("中限") - Rand.Next(e.DataRow("下限"),e.DataRow("上限"))/11))/ 2 r("B") = ((e.DataRow("中限") + Rand.Next(e.DataRow("下限"),e.DataRow("上限"))/11)+ (e.DataRow("中限") - Rand.Next(e.DataRow("下限"),e.DataRow("上限"))/11))/ 2 r("C") = ........... …… next
End Select |
||||
-- 作者:lgz518 -- 发布时间:2021/11/17 12:40:00 -- 老师,差不多,有三个问题: 1,需求是限制每列只能是25行,但按8楼是存在这样录入上限后就生成15条记录,录入下限后又生成15条记录,无法限制只有25条? 2,按8楼是存在这样录入上限后就生成15条记录,生成都小数,录入下限后生成15条记录的值全都中限的值,不是随机值? 3,改中限,下限录入后生成随机,录入中限随机个别会超过上限,需求是不能超过上限,录入下限也是生成15条中限值,不是随机值? |
||||
-- 作者:有点蓝 -- 发布时间:2021/11/17 13:37:00 -- 1、判断一个2个列都录入数据再处理 2、请认真看一下2楼帮助的说明和用法,这个生成的是整数,调用前把上下限乘于100,生成的随机值再除以100 3、帮助Rand类不可能会出现大于上下限的值,请认真测试
|