我想做的是每次程序在窗体上打开图像时都不同。因此,我有一个具有2列ID和ImagePath的简单表,如何创建代码,以便在表单加载事件或类似事件中选择随机记录(ImagePath)? Rnd不好,因为每次重新打开数据库时它都是相同的映像。

谢谢!

最佳答案

在TechRepublic上查看Susan Harkins的这篇文章:http://www.techrepublic.com/blog/howdoi/how-do-i-retrieve-a-random-set-of-records-in-microsoft-access/149

我在此查询中使用了她的GetRandomValue函数,该函数每次都返回不同的记录。

SELECT TOP 1 f.id, GetRandomValue(f.id) AS rnd_value
FROM tblFoo AS f
ORDER BY 2;

功能:
Public Function GetRandomValue(fld As Variant)

  Randomize

  GetRandomValue = Rnd(1)

End Function

警告:这种方法要求针对表的每一行运行一个函数。对于中小型表,这可能是可以容忍的。但是,您不应将其用于非常大的表。

07-24 13:17