Foxtable(狐表)用户栏目专家坐堂 → 如何在200-300之间随机一次性抽取5个整数


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

主题:如何在200-300之间随机一次性抽取5个整数

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
如何在200-300之间随机一次性抽取5个整数  发帖心情 Post By:2018/7/12 16:11:00 [只看该作者]

老师你好:

如何在200-300之间随机一次性抽取5个整数,并自动增加到表A第二列中??

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/12 16:34:00 [只看该作者]

For i As Integer = 1 To 5
    Dim n = Rand.Next(200, 300)
    msgbox(n)
Next

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/12 19:46:00 [只看该作者]

老师你好:

需求:
1、把随机产生的数据分别填入到各行中。
2、每点击一次,依次填入到“随机测算_1”,“随机测算_2”,“随机测算_3”....

下代码出错:
Dim tb As Table = Tables("投标测算_Table2")
Dim val1 As Double = CDbl(e.Form.Controls("TextBox2").Value)
Dim val2 As Double = CDbl(e.Form.Controls("TextBox3").Value)
Dim dts As List(Of DataRow)
dts = DataTables("投标随机数据").Select("项目编号 = " & tb.Current("项目编号") & "'")
Dim lst As new List(Of String)
Dim i As Integer
For i = 0 To dts.Count - 1
    Dim n = Rand.Next(val1,val2)
    lst.Add(n)
Next
For Each rw As Row In tb.Rows
    For idx As Integer = 0 To lst.Count -1
        rw(i)("随机测算_1") = lst(idx)
    Next
Next



图片点击可在新窗口打开查看此主题相关图片如下:888894208.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/12 20:51:00 [只看该作者]

Dim tb As Table = Tables("投标测算_Table2")
Dim val1 As Double = CDbl(e.Form.Controls("TextBox2").Value)
Dim val2 As Double = CDbl(e.Form.Controls("TextBox3").Value)
For Each rw As Row In tb.Rows
    Dim n = Rand.Next(val1,val2)
    rw("随机测算_1") = n
    n = Rand.Next(val1,val2)
    rw("随机测算_2") = n
    n = Rand.Next(val1,val2)
    rw("随机测算_3") = n
Next

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/13 16:35:00 [只看该作者]

有点甜老师:

4楼的是一次性输入三列,有没有办法“每点击一次,输入一列,并依次填入到“随机测算_1”,“随机测算_2”,“随机测算_3”....直至“随机测算_7为止”

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/13 17:59:00 [只看该作者]


Dim tb As Table = Tables("投标测算_Table2")
Dim val1 As Double = CDbl(e.Form.Controls("TextBox2").Value)
Dim val2 As Double = CDbl(e.Form.Controls("TextBox3").Value)
For Each rw As Row In tb.Rows
    Dim n = Rand.Next(val1,val2)
    For i As Integer = 1 To 7
        If rw("随机测算_" & i) = Nothing Then
            rw("随机测算_" & i) = n
        End If
    Next
Next

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/14 3:40:00 [只看该作者]

有点甜老师:
有没有办法“每点击一次,只输入一列,并依次填入到“随机测算_1”,“随机测算_2”,“随机测算_3”....直至“随机测算_7为止””,而不是一次性输入七列

Dim tb As Table = Tables("投标测算_Table2")
Dim val1 As Double = CDbl(e.Form.Controls("TextBox2").Value)
Dim val2 As Double = CDbl(e.Form.Controls("TextBox3").Value)
If val1 = 0 OrElse val2 = 0 Then
    MessageBox.Show("请先输入参数范围数据!")
Else
    Dim i As Integer = 1
    For Each rw As Row In tb.Rows
        For Each cl As Col In tb.Cols
            If cl.DataCol.Name.StartsWith("随机测算_")
                'For i As Integer = 1 To 7
                i += 1
                If rw("随机测算_" & i) = Nothing Then
                    Dim n = Rand.Next(val1,val2)
                    rw("随机测算_" & i) = n
                End If
                'Next
            End If
        Next
    Next
End If
[此贴子已经被作者于2018/7/14 3:40:24编辑过]

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


加好友 发短信
等级:狐神 帖子:4633 积分:33809 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/7/14 8:01:00 [只看该作者]

试试:
Dim tb As Table = Tables("投标测算_Table2")
Dim val1 As Double = CDbl(e.Form.Controls("TextBox2").Value)
Dim val2 As Double = CDbl(e.Form.Controls("TextBox3").Value)
Static i As Integer = 1
For Each rw As Row In tb.Rows
    Dim n = Rand.Next(val1,val2)
    If rw("随机测算_" & i) = Nothing Then
        rw("随机测算_" & i) = n
    End If
    If i < 7
        i += 1
    Else
        i = 1
    End If
Next

实在不行可以上例子

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/7/14 15:19:00 [只看该作者]


我的需求是:  每点击一次,只输入一列,并依次填入到“随机测算_1”,“随机测算_2”,“随机测算_3”....直至“随机测算_7为止””,而不是一次性输入七列


图片点击可在新窗口打开查看此主题相关图片如下:551.png
图片点击可在新窗口打开查看

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




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


加好友 发短信
等级:超级版主 帖子:106665 积分:542508 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/14 15:52:00 [只看该作者]

Dim tb As Table = Tables("投标测算_Table2")
Dim val1 As Double = CDbl(e.Form.Controls("TextBox2").Value)
Dim val2 As Double = CDbl(e.Form.Controls("TextBox3").Value)
Static i As Integer = 1
If i < 7
    i += 1
Else
    i = 1
End If
For Each rw As Row In tb.Rows
    Dim n = Rand.Next(val1,val2)
    If rw.IsNull("随机测算_" & i) Then
        rw("随机测算_" & i) = n
    End If
Next

 回到顶部