Access数据库产生的结果与随机数查询

时间:2016-11-07 20:19:10

标签: sql vba ms-access

我为一些使用访问权限的学生做了一个小测验。我拆分了数据库。学生将有12个终端参加测验。我将前端放在每个端子上,后端存储在连接到所有端子的网络驱动器上。现在,测验应该选择20个随机选择题。查询没问题。只是当学生从他们自己的终端开始他们自己的数据库会话时,他们最终都会得到相同的随机问题。这打败了测验的目的,因为他们都可以看到他们的肩膀。我不知道为什么会这样。在我看来,数据库已经保存了随机问题查询的结果,并且不是每次都应该执行查询。此外,由于某种原因,数据库现在非常慢。在我看来它正在拉扯内存。我该怎么办?

以下是查询:

SELECT TOP 20 MCQuestionsT.QuestionID, MCQuestionsT.QuestionText, MCQuestionsT.QuestionImage, MCQuestionsT.ChoiceA, MCQuestionsT.ChoiceB, MCQuestionsT.ChoiceC, MCQuestionsT.ChoiceD, MCQuestionsT.ChoiceE
FROM MCQuestionsT
WHERE (((MCQuestionsT.CourseCode)="2323"))
ORDER BY Rnd(MCQuestionsT.QuestionID);

1 个答案:

答案 0 :(得分:1)

你必须进一步推出随机生成器:

SELECT TOP 20 
    MCQuestionsT.QuestionID, MCQuestionsT.QuestionText, MCQuestionsT.QuestionImage, MCQuestionsT.ChoiceA, MCQuestionsT.ChoiceB, MCQuestionsT.ChoiceC, MCQuestionsT.ChoiceD, MCQuestionsT.ChoiceE
FROM 
    MCQuestionsT
WHERE 
    CourseCode="2323"
ORDER BY 
    Rnd(-Timer()*[QuestionID]);