If Then Else If Compile Error Help

thr33xx

Registered User.
Local time
Today, 14:38
Joined
May 11, 2011
Messages
43
Keep getting,

"Compile error: Block If without End If"

Any help for a VB newbie would be greatly appreciated! Thanks!

Code:
If Me.Add_Recruitment_Started = "Yes" Then
        Monthstoadd = (Me.Add_Exp_Num_Mon_Enroll - Me.Add_Study_Months_Elapsed)
        Numtoenroll = (Me.Add_Tot_Target_Enroll - Me.Add_Study_Start_Enrolled)
        Else
        If IsNull(Me.Add_Recruitment_Started) Or Me.Add_Recruitment_Started = "" Then
        Monthstoadd = Me.Add_Exp_Num_Mon_Enroll = Null
        Numtoenroll = Me.Add_Tot_Target_Enroll = Null
        Else
        Monthstoadd = Me.Add_Exp_Num_Mon_Enroll
        Numtoenroll = Me.Add_Tot_Target_Enroll
        End If
 
If we use Smart Indenter, it becomes fairly obvious (at least to me, even though it was before then too, but this should help you:
Code:
    If Me.Add_Recruitment_Started = "Yes" Then
        Monthstoadd = (Me.Add_Exp_Num_Mon_Enroll - Me.Add_Study_Months_Elapsed)
        Numtoenroll = (Me.Add_Tot_Target_Enroll - Me.Add_Study_Start_Enrolled)
    Else
        If IsNull(Me.Add_Recruitment_Started) Or Me.Add_Recruitment_Started = "" Then
            Monthstoadd = Me.Add_Exp_Num_Mon_Enroll = Null
            Numtoenroll = Me.Add_Tot_Target_Enroll = Null
        Else
            Monthstoadd = Me.Add_Exp_Num_Mon_Enroll
            Numtoenroll = Me.Add_Tot_Target_Enroll
        End If

Do you see what's missing?
 
Code:
If Me.Add_Recruitment_Started = "Yes" Then
        Monthstoadd = (Me.Add_Exp_Num_Mon_Enroll - Me.Add_Study_Months_Elapsed)
        Numtoenroll = (Me.Add_Tot_Target_Enroll - Me.Add_Study_Start_Enrolled)
    Else
        If IsNull(Me.Add_Recruitment_Started) Or Me.Add_Recruitment_Started = "" Then
            Monthstoadd = Me.Add_Exp_Num_Mon_Enroll = Null
            Numtoenroll = Me.Add_Tot_Target_Enroll = Null
        Else
            Monthstoadd = Me.Add_Exp_Num_Mon_Enroll
            Numtoenroll = Me.Add_Tot_Target_Enroll
        End If
[B]End If[/B]

?? Is that it?
 
Code:
If Me.Add_Recruitment_Started = "Yes" Then
        Monthstoadd = (Me.Add_Exp_Num_Mon_Enroll - Me.Add_Study_Months_Elapsed)
        Numtoenroll = (Me.Add_Tot_Target_Enroll - Me.Add_Study_Start_Enrolled)
    Else
        If IsNull(Me.Add_Recruitment_Started) Or Me.Add_Recruitment_Started = "" Then
            Monthstoadd = Me.Add_Exp_Num_Mon_Enroll = Null
            Numtoenroll = Me.Add_Tot_Target_Enroll = Null
        Else
            Monthstoadd = Me.Add_Exp_Num_Mon_Enroll
            Numtoenroll = Me.Add_Tot_Target_Enroll
        End If
[B]End If[/B]

?? Is that it?
Does it work now? :D
 
Yes! I just need to fix the invalid use of null error I am getting. Thanks!
 
I would suggest downloading and installing Smart Indenter. It is a great FREE tool and I don't like to be without it. I also use MZ Tools (also FREE) which is great for adding code snippets, error handlers, code headers, line numbering, and much, much more.
 
Bob,

I checked out the link, but it doesn't say it is intended for 2007/2010 Office products. I am assuming since you posted it... it does, but I wanted to make sure.

Code:
Smart Indenter Version 3.5 (released 10th February 2005) is available free for Office 2000/2002/2003, Visual Basic 6 and Excel 97


Regards,
Gary
 
It works fine. I have used it in 2007 AND 2010.
 
I just loaded and tried it... Works perfectly in 2007!

You rock!
-Gary
 
Cool, thank you guys, I'll give that tool a try later on ;-).
 

Users who are viewing this thread

Back
Top Bottom