为Access或SQL中的每条记录创建一个随机4位数字?

时间:2012-08-16 17:01:35

标签: sql ms-access random

我正在使用Access,我需要为分成记录的用户列表创建一个随机的4位数字。我的查询不断为每条记录返回相同的随机数。

SELECT 1000 + (1999-1000)*RND() as [PassCodes], 
    stafflistEMAIL.Name, stafflistEMAIL.Description 
FROM stafflistEMAIL;

我如何才能完成这项工作,另一个我认为没有提供解决方案的答案?

2 个答案:

答案 0 :(得分:2)

正如一个想法,以下将给出4个随机字符:

Mid(CreateObject("Scripting.FileSystemObject").GetTempName,4,4)

例如:

906F
0818
25A5
F200
918F
A166

答案 1 :(得分:1)

Repeating random variables in VBA

在调用Rnd之前,请使用不带参数的Randomize语句,使用基于系统计时器的种子初始化随机数生成器。

很大程度上取决于你的目标,你可以做一些有趣的事情:

Right(Cstr(CInt(Len(stafflistEMAIL.Name)*Len(stafflistEMAIL.Description)/1000)),4)