Office中国论坛/Access中国论坛
标题:
产生一个1-N 的不重复随机数
[打印本页]
作者:
littlekey
时间:
2014-7-17 14:15
标题:
产生一个1-N 的不重复随机数
刚才发表过帖子
然后也试了各位朋友的代码
还是发现有重复的
最后使用Excel 产生不重复随机数的方法
修改了放到Access
没想到也适合
发上来和大家共享一下
一下代码可以产生一个1-N的不重复随机数,N用的是rn控制:
Private Function fncRndNum(rn As Long) '产生1-n不重复随机数
Dim i%, j%, k%, X%, arr
ReDim arr(1 To rn)
For i = 1 To rn
arr(i) = i
Next
'任取数组中两个数,并交换位置,即可得到一组随机排列的不重复的连续整数数组
Randomize '<------------ADD THIS LINE
For i = 1 To rn
j = Int(rn * Rnd) + 1 '任取数组中的一个下标
k = Int(rn * Rnd) + 1 '任取数组中的另一个下标
'交换位置
X = arr(j)
arr(j) = arr(k)
arr(k) = X
Next
fncRndNum = arr
End Function
复制代码
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3