以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何填入特定范围不重复随机整数?(已完美解决,答案见5楼)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=34287)

--  作者:sloyy
--  发布时间:2013/6/4 15:07:00
--  如何填入特定范围不重复随机整数?(已完美解决,答案见5楼)

我想从整数30-50这个范围内,随机选出10个不重复整数,填入表A 该怎么写代码?

 


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

 


 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:填入不重复随机数.table

[此贴子已经被作者于2013-6-4 16:16:05编辑过]

--  作者:Bin
--  发布时间:2013/6/4 15:25:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:填入不重复随机数.table


--  作者:sloyy
--  发布时间:2013/6/4 15:58:00
--  
这段程序非常精巧,非常棒,不过,我反复测试,在缩小范围后,比如 30-50 就会出现重复,哪里出错了?
--  作者:sloyy
--  发布时间:2013/6/4 16:04:00
--  

 


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

--  作者:Bin
--  发布时间:2013/6/4 16:07:00
--  
.
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:填入不重复随机数.table


--  作者:don
--  发布时间:2013/6/4 16:15:00
--  
Dim nst As new List(of Integer)
Dim n1,n2 As Integer

Do While nst.count < 10
    n1=Rand.Next(30, 50)
    If nst.Contains(n1)=False Then
        nst.add(n1)
    End If
Loop


For Each r As Row In Tables("表A").Rows
    r("随机数")= nst(n2)
    n2+=1
Next


--  作者:sloyy
--  发布时间:2013/6/4 16:18:00
--  

谢谢两位的热心解答, bin已经给出了完美的答案

 foxtable的循环我还是不熟,再去看看帮助图片点击可在新窗口打开查看