x
Solved

Help with If statements

Posted on 2006-11-08
Medium Priority
195 Views
I needs some help

This Access VBA.  I need to combine all these statements and make the last condition this: (if all statments are false then)
Else
Range("P20") = Month(cboSecondary.Value) + 1 ' Standard Pool Month

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''This is my code.

If Len(cboSecondary.Value) > 3 Then
If (cboSecondary.Value) = "11/29/2006" Then ' Jan Pool Month
Range("P20") = 1
Else
End If
End If

If Len(cboSecondary.Value) > 3 Then
If (cboPrimary.Value) = "30Govt" Then
If (cboSecondary.Value) = "1/2/2006" Then ' Jan Pool Month
Range("P20") = 1
Else
End If
End If
End If

If Len(cboSecondary.Value) > 3 Then
If (cboPrimary.Value) = "30FHLM" Then
If (cboSecondary.Value) = "1/2/2006" Then ' Feb Pool Month
Range("P20") = 2
Else

End If
End If
End If

If Len(cboSecondary.Value) > 3 Then
If (cboSecondary.Value) = "10/31/2006" Then ' Dec Pool Month
Range("P20") = Month(cboSecondary.Value) + 2
Else

End If
End If

If Len(cboSecondary.Value) > 3 Then
If (cboSecondary.Value) = "8/31/2006" Then
Range("P20") = Month(cboSecondary.Value) + 2 'Oct Pool Month
Else

End If
End If

If Len(cboSecondary.Value) > 3 Then
If (cboSecondary.Value) = "11/1/2006" Then 'Nov Pool Month
Range("P20") = Month(cboSecondary.Value)
Else

End If
End If

If Len(cboSecondary.Value) > 3 Then
If Month(cboSecondary.Value) = 12 Then
Range("P20") = 1
End If
End If

0
Question by:ca1358
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points

LVL 29

Expert Comment

ID: 17901194
Try this:

If Len(cboSecondary.Value) > 3 Then
If (cboSecondary.Value) = "11/29/2006" Then ' Jan Pool Month
Range("P20") = 1
End If

If (cboPrimary.Value) = "30Govt" Then
If (cboSecondary.Value) = "1/2/2006" Then ' Jan Pool Month
Range("P20") = 1
End If
End If

If (cboPrimary.Value) = "30FHLM" Then
If (cboSecondary.Value) = "1/2/2006" Then ' Feb Pool Month
Range("P20") = 2
End If
End If

If (cboSecondary.Value) = "10/31/2006" Then ' Dec Pool Month
Range("P20") = Month(cboSecondary.Value) + 2
End If

If (cboSecondary.Value) = "8/31/2006" Then
Range("P20") = Month(cboSecondary.Value) + 2 'Oct Pool Month
End If

If (cboSecondary.Value) = "11/1/2006" Then 'Nov Pool Month
Range("P20") = Month(cboSecondary.Value)
End If

If Month(cboSecondary.Value) = 12 Then
Range("P20") = 1
End If

Else
Range("P20") = Month(cboSecondary.Value) + 1 ' Standard Pool Month
End If
0

LVL 5

Expert Comment

ID: 17901198
If Len(cboSecondary.value) > 3 Then

If (cboSecondary.value) = "11/29/2006" Then ' Jan Pool Month
Range("P20") = 1
ElseIf (cboPrimary.value) = "30Govt" Then
If (cboSecondary.value) = "1/2/2006" Then ' Jan Pool Month
Range("P20") = 1
End If
ElseIf (cboPrimary.value) = "30FHLM" Then
If (cboSecondary.value) = "1/2/2006" Then ' Feb Pool Month
Range("P20") = 2
End If
ElseIf (cboSecondary.value) = "10/31/2006" Then ' Dec Pool Month
Range("P20") = month(cboSecondary.value) + 2
End If
ElseIf (cboSecondary.value) = "8/31/2006" Then
Range("P20") = month(cboSecondary.value) + 2 'Oct Pool Month
End If
ElseIf (cboSecondary.value) = "11/1/2006" Then 'Nov Pool Month
Range("P20") = month(cboSecondary.value)
End If
ElseIf month(cboSecondary.value) = 12 Then
Range("P20") = 1
End If
Else
If month(cboSecondary.value) = 12 Then
Range("P20") = 1
End If
End If
End If
0

LVL 11

Expert Comment

ID: 17901555
If Len(cboSecondary.Value) > 3 Then
If (cboSecondary.Value) = "11/29/2006" Then
range("P20") = 1
ElseIf (cboPrimary.Value) = "30Govt" And (cboSecondary.Value = "1/2/2006") Then range("P20") = 1
ElseIf (cboPrimary.Value) = "30FHLM" And (cboSecondary.Value = "1/2/2006") Then range("P20") = 2
ElseIf (cboSecondary.Value) = "10/31/2006" Then range("P20") = Month(cboSecondary.Value) + 2
ElseIf (cboSecondary.Value) = "8/31/2006" Then range("P20") = Month(cboSecondary.Value) + 2        'Oct Pool Month
ElseIf (cboSecondary.Value) = "11/1/2006" Then range("P20") = Month(cboSecondary.Value)  'Nov Pool Month
ElseIf Month(cboSecondary.Value) = 12 Then range("P20") = 1
Else
range("P20") = Month(cboSecondary.Value) + 1    ' Standard Pool Month
End If
End If
0

LVL 11

Accepted Solution

Dany Balian earned 2000 total points
ID: 17901614
or maybe something like this?

If Len(cboSecondary.Value) > 3 Then
Select Case cboSecondary.Value
Case "11/29/2006": range("P20") = 1
Case "1/2/2006":
If cboPrimary.Value = "30Govt" Then
range("P20") = 1
ElseIf cboPrimary.Value = "30FHLM" Then
range("P20") = 2
End If
Case "10/31/2006": range("P20") = Month(cboSecondary.Value) + 2
Case "8/31/2006": range("P20") = Month(cboSecondary.Value) + 2
Case "11/1/2006": range("P20") = Month(cboSecondary.Value)
Case Else:
If Month(cboSecondary.Value) = 12 Then range("P20") = 1 Else range("P20") = Month(cboSecondary.Value) + 1
End Select
End If

hope this helps..

Dan
0

Author Comment

ID: 17901779
Thank you!
0

Featured Post

Question has a verified solution.

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

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
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…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…
Suggested Courses
Course of the Month15 days, 8 hours left to enroll