Это проще, чем я думал, эту функцию можно использовать в том же контексте, что и Rnd ()
Public Function Rand(FieldName) As Single
Rand = Rnd(1)
End Function
Тогда в SQL используется как:
SELECT ID, Rand([ID]) FROM Table
Передавая ему имя поля, мы заставляем функцию выполняться для каждой строки в запросе (даже если мы игнорируем фактическое поле в функции), а затем вычисление функции до 1 всегда будет возвращать другое случайное число одним и тем же способом. Rnd () будет выполнен в VB.