Solved

VB SYNTAX QUESTION ABOUT LOGICAL OPERATOR

Posted on 2006-07-22
2
162 Views
Last Modified: 2010-04-30
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
Comment
Question by:MoJeaux39
2 Comments
 
LVL 143

Accepted Solution

by:
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

by:MoJeaux39
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

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
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.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
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…

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

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

Join & Ask a Question