2014-02-06 5 views
1

Я программирую некоторую форму в Access 2010 и хочу проверить некоторую радиокнопку, если они отмечены или нет.Использование переменной в предложении IF

Я хочу использовать до цикла, потому что есть 38 вопросов, которые нужно было бы проверить каждой строкой.

Я использовал это, но подмигнули не работает

Me.OptionQ(lNum).Value 

Here's полное заявление, если я хочу использовать.

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) .Value – Julius

+0

** Как ** не работает? Что не так? Он взрывается? – SLaks

ответ

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

Большое спасибо, он работает! – Julius

+0

И да, это то, что я хотел сделать. – Julius

Смежные вопросы