Solved

# VB SYNTAX QUESTION ABOUT LOGICAL OPERATOR

Posted on 2006-07-22
159 Views
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
Question by:MoJeaux39

LVL 142

Accepted Solution

Guy Hengel [angelIII / a3] earned 500 total points
ID: 17160588
you have to compare against the constant vbChecked (resp vbUnchecked):
If main.STD.Checked = vbChecked Then

0

Author Comment

ID: 17160612
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

## Join & Write a Comment Already a member? Login.

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

#### 708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

#### Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!