我在Access 2010中编写了一些Form,并且想要检查一些单选按钮是否被选中。
我想使用一个直到循环,因为每行都要检查38个问题。
我用过这个,但它不起作用
Me.OptionQ(lNum).Value
这是我想要使用的完整IF语句。
Dim lNum AS Long
lNum = 1
Do Until lNum = 39
If Me.OptionQ(lNum).Value = 1 Then
MsgBox "Option 1 is selected"
ElseIf Me.OptionQ(lNum).Value = 2 Then
MsgBox "Option 2 is selected"
ElseIf Me.OptionQ(lNum).Value = 3 Then
MsgBox "Option 3 is selected"
Else
MsgBox "Please choose an answer for every question."
Exit Do
End If
lNum = lNum + 1
Loop
我搜索了很多,但似乎没有办法像这样做。
答案 0 :(得分:1)
我认为你说你有一套38个名为 OptionQ1 的控件,通过 OptionQ38 。
如果这是正确的,您可以检查每个控件的值,并使用更简单的代码执行您想要的操作。
For lNum = 1 To 38
Select Case Me.Controls("OptionQ" & lNum).Value
Case 1 To 3
MsgBox "Option " & Me.Controls("OptionQ" & lNum).Value & _
" is selected"
Case Else
MsgBox "Please choose an answer for every question."
Exit For
End Select
Next