【发布时间】:2012-02-19 14:03:57
【问题描述】:
是否可以在 Microsoft Access 查询中使用 Rnd() 函数而不指定数字列(例如,当我的主键包含字母字符时)并且仍然为每一行生成不同的随机数?
【问题讨论】:
是否可以在 Microsoft Access 查询中使用 Rnd() 函数而不指定数字列(例如,当我的主键包含字母字符时)并且仍然为每一行生成不同的随机数?
【问题讨论】:
你可以使用第一个字符;
rnd(asc(left([field],1)))
这应该为每一行给出不同的结果,即使字符是相同的
【讨论】:
比我原先想的要简单,这个函数可以用在和Rnd()一模一样的上下文中
Public Function Rand(FieldName) As Single
Rand = Rnd(1)
End Function
然后在SQL中用作:
SELECT ID, Rand([ID]) FROM Table
通过传递一个字段名,我们强制函数执行查询中的每一行(即使我们忽略了函数中的实际字段),然后将函数评估为 1 将始终以相同的方式返回不同的随机数如果在 VB 中执行,Rnd() 会。
【讨论】: