仅在Microsoft Access 2010中单击时随机化表单顺序

时间:2014-03-23 06:43:16

标签: sql ms-access random

在Microsoft Access 2010中,我有一个名为Items的表,一个名为Items Extended的表的查询,它根据ID添加一个随机数,如下所示

RandomID: Rnd([ID])

然后我在分割表单中打开该查询,称为项目列表,我已经创建了一个只有

的随机化按钮
SortOrderBy RandomID

这似乎工作正常。

我遇到的问题是它不会因随机值而停止更新和重新排序。

表格中的每个项目都有一个“打开”链接,该链接打开一个名为“项目详细信息”的单个表单,该表单的详细信息更易于查看和编辑。但是当我关闭它时,订单会在项目列表拆分表格中重新随机化。

我想这样做,当我按下随机按钮时,它会以随机顺序对表格进行排序,并将其保留,直到我将其更改为其他按钮,或者自己重新随机化。

我尝试将拆分表单设置为不是Order On Load,以及Query。我尝试过各种我在网上看到的涉及使用宏和VGA的解决方案,但是我无法绕过它并将其应用于这种特殊情况。我可以毫不费力地获得一个随机列表 - 我只需要它保持按顺序而不是每次都改变。每次加载它时,我都不需要随机化它,只要每次按下Randomize按钮。

1 个答案:

答案 0 :(得分:0)

尝试使用无法更改的内容(例如当前登录的用户ID)播放Rnd来电。在使用之前,您需要对Rnd进行种子处理。

我没有任何使用Access的经验,但快速阅读文档表明Rnd函数由Randomize函数播种。所以你需要提供当前用户的会话作为Randomize的参数。有关Rnd的详细信息,请参阅the documentation