Мне было интересно, есть ли способ выбрать случайную запись после использования инструмента «Подключение к базе данных» в Visual Studio 2017. Я пытаюсь выбрать случайную запись в диапазоне от 1 до 21. В базе данных MS Access есть QNumber ( Первичный ключ), Вопрос, Ответ1, Ответ2, Ответ3 и Ответ4. QNumber - это число, тогда как все остальные - это текст.
Я пытался использовать этот код с официального сайта Microsoft.
Dim MyValue As Integer
MyValue = Int((6 * Rnd) + 1) ' Generate random value between 1 and 6.
Однако я не был уверен, как применить это к моей ситуации.
После использования инструмента «Подключение к базе данных» я использовал этот код для вставки данных из базы данных MS Access для заполнения текстовых полей:
txtQNumber.DataBindings.Add("Text", QuizDataSet, "Quiz.QNumber")
txtQ.DataBindings.Add("Text", QuizDataSet, "Quiz.Question")
txtAnswer.DataBindings.Add("Text", QuizDataSet, "Quiz.Answer1")
txtAnswer2.DataBindings.Add("Text", QuizDataSet, "Quiz.Answer2")
txtAnswer3.DataBindings.Add("Text", QuizDataSet, "Quiz.Answer3")
txtAnswer4.DataBindings.Add("Text", QuizDataSet, "Quiz.Answer4")
Приведенный ниже код показывает, что я сделал, чтобы остановить тест после того, как на 10 вопросов были даны ответы. Бит с «BindingContext ..» - это то, как вопросы развиваются после нажатия кнопки «Вперед».
Answered = 0
Private Sub cmdForward_Click(sender As Object, e As EventArgs) Handles cmdForward.Click
BindingContext(QuizDataSet, "Quiz").Position = BindingContext(QuizDataSet, "Quiz").Position + 1
Answered = Answered + 1
If Answered = 10 Then
End
End If
Пока что вывод текстовых полей был очень линейным - он начинается с QNumber 1, переходит на QNumber 2 и т. Д. И переходит к QNumber 10. Я хочу, чтобы он был случайным. Например, он начинается с QNumber 15, переходит на QNumber 6, а затем заканчивается на QNumber 19 или что-то в этом роде.
Я бы предположил, что мне придется использовать .Position, показанный заранее, но опять же, я не совсем уверен, поэтому любая помощь будет очень цениться.