New line on IF Statement (1 Viewer)

Oreynolds

Member
Local time
Today, 13:51
Joined
Apr 11, 2020
Messages
157
Hi, I am trying to split this long IF statment up across two lines so its not on one huge long line but it won't let me, what am I doing wrong?!

Thanks

Code:
If Me.Chk2Discipline = True And Me.Chk3Discipline = True And Me.Chk4Discipline = True And Me.Chk5Discipline = True And Me.Chk6Discipline = True And Me.Chk7Discipline = True & _
   And Me.Chk8Discipline = True And Me.Chk9Discipline = True And Me.Chk10Discipline = True And Me.Chk11Discipline = True And Me.Chk12Discipline = True And Me.Chk13Discipline = True Then
   Me.Chk1Discipline = True
   Me.txtCriteria1Discipline = 1
   End If
 

theDBguy

I’m here to help
Staff member
Local time
Today, 05:51
Joined
Oct 29, 2018
Messages
21,473
Don't think you need the & symbol.
 

Josef P.

Well-known member
Local time
Today, 14:51
Joined
Feb 2, 2023
Messages
826
As already mentioned in #2 without &, as no string is to be linked
Code:
If Me.Chk2Discipline = True And Me.Chk3Discipline = True And Me.Chk4Discipline = True _
            And Me.Chk5Discipline = True And Me.Chk6Discipline = True And Me.Chk7Discipline = True _
            And Me.Chk8Discipline = True And Me.Chk9Discipline = True And Me.Chk10Discipline = True _
            And Me.Chk11Discipline = True And Me.Chk12Discipline = True And Me.Chk13Discipline = True Then
      Me.Chk1Discipline = True
      Me.txtCriteria1Discipline = 1
   End If


Or:
Code:
   Dim ChkDis1 As Boolean
   Dim i As Long
 
   For i = 2 To 13
      ChkDis1 = Me.Controls("Chk" & i & "Discipline")
      If Not ChkDis1 Then
         Exit For
      End If
   Next
 
   Me.Chk1Discipline = ChkDis1
   If ChkDis1 Then
      Me.txtCriteria1Discipline = 1
   End If
;)
 

June7

AWF VIP
Local time
Today, 04:51
Joined
Mar 9, 2014
Messages
5,472
Multiple similar name fields/controls for same kind of data indicates a non-normalized structure. If you want to provide db for analysis, follow instructions at bottom of my post.
 
Last edited:

MarkK

bit cruncher
Local time
Today, 05:51
Joined
Mar 17, 2004
Messages
8,181
You also don't have to compare a boolean to True or False in order to determine if it is True or False, since, as a boolean, it is already True or False. As a result you can do....
Code:
Me.Chk1Discipline = Me.Chk2Discipline And Me.Chk3Discipline And Me.Chk4Discipline ...
 

June7

AWF VIP
Local time
Today, 04:51
Joined
Mar 9, 2014
Messages
5,472
Also, appears you are saving this calculated value to field. That is not necessary as this can be calculated when needed. It is often bad idea to save calculated value.

Why is Chk1Discipline dependent on other 12 Discipline fields? And why do you then populate another field to a number value?
Code:
With Me
If .Chk2Discipline And .Chk3Discipline And.Chk4Discipline And .Chk5Discipline And .Chk6Discipline _
            And .Chk7Discipline And .Chk8Discipline And .Chk9Discipline And .Chk10Discipline _
            And .Chk11Discipline And .Chk12Discipline And .Chk13Discipline Then
      .Chk1Discipline = True
      .txtCriteria1Discipline = 1
End If
End With
 
Last edited:

CJ_London

Super Moderator
Staff member
Local time
Today, 13:51
Joined
Feb 19, 2013
Messages
16,614
perhaps even simpler

Code:
With Me

    .Chk1Discipline= .Chk2Discipline And .Chk3Discipline And.Chk4Discipline And .Chk5Discipline And .Chk6Discipline _
            And .Chk7Discipline And .Chk8Discipline And .Chk9Discipline And .Chk10Discipline _
            And .Chk11Discipline And .Chk12Discipline And .Chk13Discipline
    
     if  .Chk1Discipline then  .txtCriteria1Discipline = 1

End With
 

June7

AWF VIP
Local time
Today, 04:51
Joined
Mar 9, 2014
Messages
5,472
Maybe no If Then at all:
Code:
With Me
    .Chk1Discipline = .Chk2Discipline And .Chk3Discipline And.Chk4Discipline And .Chk5Discipline And .Chk6Discipline _
            And .Chk7Discipline And .Chk8Discipline And .Chk9Discipline And .Chk10Discipline _
            And .Chk11Discipline And .Chk12Discipline And .Chk13Discipline
    .txtCriteria1Discipline = Abs(.Chk1Discipline)
End With
These fields are redundant.
 

arnelgp

..forever waiting... waiting for jellybean!
Local time
Today, 20:51
Joined
May 7, 2009
Messages
19,245
another alternative
Code:
If (Me.Chk2Discipline + Me.Chk3Discipline + Me.Chk4Discipline + Me.Chk5Discipline + Me.Chk6Discipline + Me.Chk7Discipline + _
   Me.Chk8Discipline + Me.Chk9Discipline + Me.Chk10Discipline + Me.Chk11Discipline + Me.Chk12Discipline + Me.Chk13Discipline) = -12 Then
  
   Me.Chk1Discipline = True
   Me.txtCriteria1Discipline = 1
 

Users who are viewing this thread

Top Bottom