If/Then ... what am I missing

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I have the following if/Then statements

If affirmation = "" Then
If indirect = "" Then
If direct = "" Then CalPrac = "NI"
ElseIf direct = "x" Then CalPrac = "PI"
ElseIf direct = "w" Then CalPrac = "PI"
ElseIf direct = "m" Then CalPrac = "NI"
ElseIf direct = "ny" Then CalPrac = "NY"
End If
ElseIf indirect = "x" Then
If direct = "" Then CalPrac = "PI"
ElseIf direct = "x" Then CalPrac = "FI"
ElseIf direct = "w" Then CalPrac = "LI"
ElseIf direct = "m" Then CalPrac = "PI"
ElseIf direct = "ny" Then CalPrac = "NY"
End If
ElseIf indirect = "m" Then <~~Compile error, else without if
If direct = "" Then CalPrac = "NI"
ElseIf direct = "x" Then CalPrac = "PI"
ElseIf direct = "w" Then CalPrac = "PI"
ElseIf direct = "m" Then CalPrac = "NI"
ElseIf direct = "ny" Then CalPrac = "NY"
End If
End If
ElseIf affirmation = "x" Then
If indirect = "" Then
If direct = "" Then CalPrac = "NI"
ElseIf direct = "x" Then CalPrac = "FI"
ElseIf direct = "w" Then CalPrac = "LI"
ElseIf direct = "m" Then CalPrac = "NI"
ElseIf direct = "ny" Then CalPrac = "NY"
End If
ElseIf indirect = "x" Then
If direct = "" Then CalPrac = "PI"
ElseIf direct = "x" Then CalPrac = "FI"
ElseIf direct = "w" Then CalPrac = "LI"
ElseIf direct = "m" Then CalPrac = "PI"
ElseIf direct = "ny" Then CalPrac = "NY"
End If
ElseIf indirect = "m" Then
If direct = "" Then CalPrac = "NI"
ElseIf direct = "x" Then CalPrac = "FI"
ElseIf direct = "w" Then CalPrac = "LI"
ElseIf direct = "m" Then CalPrac = "NI"
ElseIf direct = "ny" Then CalPrac = "NY"
End If
End If
End If


I've noted where the error is. I just don't see it. I'm sure another pair
of eyes will find it.

Thanks,
Barb Reinhardt
 
You're not using a correct If/Else structure. You would find that even if
you slimmed your code down to just this:

If direct = "" Then CalPrac = "NI"
ElseIf direct = "x" Then CalPrac = "PI"
End If

it still would not compile.

You have to use a structure like this:

If direct = "" Then
CalPrac = "NI"
ElseIf direct = "x" Then
CalPrac = "PI"
End If


--
Jim
|I have the following if/Then statements
|
| If affirmation = "" Then
| If indirect = "" Then
| If direct = "" Then CalPrac = "NI"
| ElseIf direct = "x" Then CalPrac = "PI"
| ElseIf direct = "w" Then CalPrac = "PI"
| ElseIf direct = "m" Then CalPrac = "NI"
| ElseIf direct = "ny" Then CalPrac = "NY"
| End If
| ElseIf indirect = "x" Then
| If direct = "" Then CalPrac = "PI"
| ElseIf direct = "x" Then CalPrac = "FI"
| ElseIf direct = "w" Then CalPrac = "LI"
| ElseIf direct = "m" Then CalPrac = "PI"
| ElseIf direct = "ny" Then CalPrac = "NY"
| End If
| ElseIf indirect = "m" Then <~~Compile error, else without if
| If direct = "" Then CalPrac = "NI"
| ElseIf direct = "x" Then CalPrac = "PI"
| ElseIf direct = "w" Then CalPrac = "PI"
| ElseIf direct = "m" Then CalPrac = "NI"
| ElseIf direct = "ny" Then CalPrac = "NY"
| End If
| End If
| ElseIf affirmation = "x" Then
| If indirect = "" Then
| If direct = "" Then CalPrac = "NI"
| ElseIf direct = "x" Then CalPrac = "FI"
| ElseIf direct = "w" Then CalPrac = "LI"
| ElseIf direct = "m" Then CalPrac = "NI"
| ElseIf direct = "ny" Then CalPrac = "NY"
| End If
| ElseIf indirect = "x" Then
| If direct = "" Then CalPrac = "PI"
| ElseIf direct = "x" Then CalPrac = "FI"
| ElseIf direct = "w" Then CalPrac = "LI"
| ElseIf direct = "m" Then CalPrac = "PI"
| ElseIf direct = "ny" Then CalPrac = "NY"
| End If
| ElseIf indirect = "m" Then
| If direct = "" Then CalPrac = "NI"
| ElseIf direct = "x" Then CalPrac = "FI"
| ElseIf direct = "w" Then CalPrac = "LI"
| ElseIf direct = "m" Then CalPrac = "NI"
| ElseIf direct = "ny" Then CalPrac = "NY"
| End If
| End If
| End If
|
|
| I've noted where the error is. I just don't see it. I'm sure another
pair
| of eyes will find it.
|
| Thanks,
| Barb Reinhardt
 
If direct = "" Then CalPrac = "NI"
ElseIf direct = "x" Then CalPrac = "PI"
ElseIf direct = "w" Then CalPrac = "PI"
ElseIf direct = "m" Then CalPrac = "NI"
ElseIf direct = "ny" Then CalPrac = "NY"

to:

CalcPrac = Switch(direct = "", "NI", direct = "m", "NI", direct = "x", "PI",
direct = "w", "PI", direct = "ny", "NY")

if you want, may be easier. You can also do this with the rest of the blocks.
 
Looks like a case for Select Case to me

Select Case affirmation
Case ""
Select Case indirect
Case ""
Select Case direct
Case "": CalPrac = "NI"
Case "x": CalPrac = "PI"
Case "w": CalPrac = "PI"
Case "m": CalPrac = "NI"
Case "ny": CalPrac = "NY"
End Select
Case "x"
Select Case direct
Case "": CalPrac = "PI"
Case "x": CalPrac = "FI"
Case "w": CalPrac = "LI"
Case "m": CalPrac = "PI"
Case "ny": CalPrac = "NY"
End Select
Case "m"
Select Case direct
Case "": CalPrac = "NI"
Case "x": CalPrac = "PI"
Case "w": CalPrac = "PI"
Case "m": CalPrac = "NI"
Case "ny": CalPrac = "NY"
End Select
End Select
Case "x"
Select Case indirect
Case ""
Select Case direct
Case "": CalPrac = "NI"
Case "x": CalPrac = "FI"
Case "w": CalPrac = "LI"
Case "m": CalPrac = "NI"
Case "ny": CalPrac = "NY"
End Select
Case "x"
Select Case direct
Case "": CalPrac = "PI"
Case "x": CalPrac = "FI"
Case "w": CalPrac = "LI"
Case "m": CalPrac = "PI"
Case "ny": CalPrac = "NY"
End Select
Case "m"
Select Case direct
Case "": CalPrac = "NI"
Case "x": CalPrac = "FI"
Case "w": CalPrac = "LI"
Case "m": CalPrac = "NI"
Case "ny": CalPrac = "NY"
End Select
End Select
End Select




--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top