在IF子句中使用变量

时间:2014-02-06 18:12:48

标签: vba ms-access access-vba ms-access-2010

我在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

我搜索了很多,但似乎没有办法像这样做。

1 个答案:

答案 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