2014-02-06 38 views
1

我正在編程Access 2010中的某些表單,並希望檢查某些單選按鈕是否被選中。在IF子句中使用變量

我想使用直到循環,因爲有38個問題,這將是很多檢查每一行。

我用這個,但it's不工作

Me.OptionQ(lNum).Value 

Here's完整的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

** **如何不工作? – SLaks

+0

我認爲Me.OptionQ(lNum).Dalue – Julius

+0

**有問題** **它不起作用?怎麼了?它爆炸了嗎? – SLaks

回答

1

我想你是說你有一套38個控件名爲OptionQ1OptionQ38

如果這是正確的,你可以檢查每個控件的值,並用簡單的代碼來做你想做的事情。

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 
+0

非常感謝,它正在工作! – Julius

+0

是的,這就是我想要做的。 – Julius