• Status: Solved
• Priority: Medium
• Security: Public
• Views: 175

# VB SYNTAX QUESTION ABOUT LOGICAL OPERATOR

Hi,
I have another multivariable comparison.  I want to compare 4 checkboxes to 1 - both sets shouldn't be checked.  However, the script is not recognizing when a checkbox is checked.   For example, If I check STD, I get the alert message - "missing final action, check a fad box".  It should recognize this box is checked.
I would appreciate any suggestions!!  Again, I have assigned a high pt value due to urgency.  Thank you!

Code sample:

If main.STD.Checked Then
form69 = -1
Else
form69 = 0
End If

If main.SSTDR.Checked Then
form71 = -1
Else
form71 = 0
End If

If main.SSTDW.Checked Then
form72 = -1
Else
form72 = 0
End If

If main.SSTDPE.Checked Then
form73 = -1
Else
form73 = 0
End If

If main.DECL.Checked Then
form74 = -1
Else
form74 = 0
End If

If main.PPON.Checked Then
form75 = -1
Else
form75 = 0
End If

If ((form69) = -1 Or (form71) = -1 Or (form72) = -1 Or (form73) = -1) And ((form74) = -1) Then
MsgBox ("CAN NOT CONTINUE - MUST CHOOSE BETWEEN ISSUE AND DECLINE ACTIONS - CAN'T BE BOTH")
Exit Sub
ElseIf ((form69) = -1 Or (form71) = -1 Or (form72) = -1 Or (form73) = -1) And ((form75) = -1) Then
MsgBox ("CAN NOT CONTINUE - MUST CHOOSE BETWEEN ISSUE AND POSTPONE ACTIONS - CAN'T BE BOTH")
Exit Sub
ElseIf (Form74) = -1 And (Form75) = -1 Then
MsgBox ("CAN NOT CONTINUE - MUST CHOOSE BETWEEN DECLINE AND POSTPONE ACTIONS - CAN'T BE BOTH")
Exit Sub
ElseIf ((form69) = 0 Or (form71) = 0 Or (form72) = 0 Or (form73) = 0) And ((form74) = 0 Or (form75) = 0)Then
MsgBox ("CAN NOT CONTINUE - MISSING FINAL ACTION DECISION - PLEASE CHECK FAD BOX")
Exit Sub
Else
If main.STD.Checked Then
form69 = -1
Else
form69 = 0
End If
If main.SSTDR.Checked Then
form71 = -1
Else
form71 = 0
End If
If main.SSTDW.Checked Then
form72 = -1
Else
form72 = 0
End If
If main.SSTDPE.Checked Then
form73 = -1
Else
form73 = 0
End If
If main.DECL.Checked Then
form74 = -1
Else
form74 = 0
End If
If main.PPON.Checked Then
form75 = -1
Else
form75 = 0
End If
End If
0
MoJeaux39
1 Solution

Billing EngineerCommented:
you have to compare against the constant vbChecked (resp vbUnchecked):
If main.STD.Checked = vbChecked Then

0

Author Commented:
Yes, but setting it's value to -1 or 0 accomplish the same thing?  It's the

ElseIf ((form69) = 0 Or (form71) = 0 Or (form72) = 0 Or (form73) = 0) And ((form74) = 0 Or (form75) = 0)Then
MsgBox ("CAN NOT CONTINUE - MISSING FINAL ACTION DECISION - PLEASE CHECK FAD BOX")
Exit Sub
Else

statement that doesn't recognize the value of form69, right?

Thanks!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.