我有一个包含大约 30 个问题的 Access 数据库。数据库分为3个表;问题,可能的答案和答案。 这些问题有 2 到 5 个可能的答案。 如何从我的数据库中随机选择 10 个问题并将它们添加到我的 vb 表单中?
PS:我是第一次做这个
这是我的代码
昏暗的提供者作为字符串
将数据文件调暗为字符串
将 connString 变暗为字符串
公共(public) myConnection 作为 OleDbConnection = New OleDbConnection
公共(public)博士作为 OleDbDataReader
Private Sub Form1_Load(sender As Object, e As System.EventArgs) 处理 Me.Load
provider = "Provider=Microsoft.ACE.OLEDB.12.0;数据源 ="
dataFile = "C:\Users\Phil\Desktop\Questions.accdb"
connString = 提供者和数据文件
myConnection.ConnectionString = connString
myConnection.Open()
将 str 调暗为字符串
str = "SELECT Top 10 ID_Question From Questions ORDER BY RND(ID_Question)"
将 cmd 变暗为 OleDbCommand = New OleDbCommand(str, myConnection)
dr = cmd.ExecuteReader
虽然 dr.Read()
TextBox1.Text = dr("ID_Question").ToString
结束时
我的连接.关闭()
MsgBox("fsafa")
结束子
Textbox没有变化,msgBox没有显示
如果有人感兴趣的话对我有用的解决方案
SELECT Top 10 ID_Question, Question_Name
FROM tblQuestions
ORDER BY RND(-(100000*ID_Question)*Time())
最佳答案
我必须假设您的问题有一个自动编号字段,您的可能答案有一个基于该自动编号字段的一对多联接,而您的答案有一个基于该自动编号字段的一对一联接?这将是关联表格的最佳方式。
如果是这样,尝试这样的事情:
SELECT Top 10 Question_ID FROM tblQuestions ORDER BY RND(Question_ID)
这应该会为您提供前 10 个随机选择的 Question_ID(或者您所说的我上面提到的自动编号字段),然后您可以根据该 ID 左连接到问题/可能的答案/答案表。您只需根据上述 SQL 填充表单或子表单即可显示问题。
关于database - 如何从Access数据库中随机选择多项选择题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28152745/