Я переписываю небольшое приложение ms-access для сдачи экзаменов.
Они хотят, чтобы тесты брали набор случайных вопросов в зависимости от размера экзамена.
Если бы в каждом экзамене было определенное количество вопросов, я мог бы просто вставить число в утверждение TOP
и покончить с ним, но для каждого экзамена есть переменное количество вопросов, поэтому я хочу заменить константу число рядом с TOP
с полем из запроса.
Что я в основном хочу, так это:
SELECT TOP tblExam.[ExamSize] *
FROM tblExamQuestions INNER JOIN tblExam
ON tblExamQuestions.ExamID = tblExam.ExamID
WHERE tblExam.ExamID = 10
ORDER BY Rnd(tblExamQuestions.ExamQuestionID);
Я предоставляю новый ExamID
для этого запроса для каждой сессии экзамена, когда я открываю отчет, так что это, вероятно, будет мешать.
DoCmd.OpenForm strExamName, , , "tblExam.ExamID = " & strExamID