Select case problem - else if

G

Guest

Hi--I've been using the following Select Case procedure, and it's been
working like a dream. However, I need to make a slight modification to it so
that in Case 1

If Me.InitialTermExp > Now Then
Me.CurrentTermExp = Me.InitialTermExp

The rest of the statement can still apply: i.e.,
If Me.InitialTermExp < Now And EvalDate > Now () Then
etc.

I tried to turn Case 1 into a series of If and Else If statements but got an
error message. Can someone help? Here is the original, functioning code:

Private Sub cboRenewalConditions_AfterUpdate()
Dim EvalDate As Date
EvalDate = DateSerial(Year(Now()), Month(Me.InitialTermExp),
Day(Me.InitialTermExp))
If Not IsNull(Me.InitialTermExp) And Me.[Expired/Terminated] = 0 Then
Select Case Me.cboRenewalConditions
Case 1
If EvalDate > Now() Then
Me.CurrentTermExp = EvalDate
Else
Me.CurrentTermExp = DateAdd("yyyy", 1, EvalDate)
End If
Case 2
If Not IsNull(Me.InitialTermExp) And Me.InitialTermExp >
Now() Then
Me.CurrentTermExp = Me.InitialTermExp
Else
Me.CurrentTermExp = Null
Me.NoticeByDate = Null
End If
Case 3
Me.CurrentTermExp = Null
Me.NoticeByDate = Null
Case 4
Me.CurrentTermExp = Null
Me.NoticeByDate = Null
Case 5
Me.CurrentTermExp = Null
Me.NoticeByDate = Null
Case 6
Me.CurrentTermExp = Null
Me.NoticeByDate = Null
End Select
Else
Me.CurrentTermExp = Null
End If
 
D

Douglas J. Steele

Try:

If Me.InitialTermExp > Now Then
Me.CurrentTermExp = Me.InitialTermExp
Else
If EvalDate > Now() Then
Me.CurrentTermExp = EvalDate
Else
Me.CurrentTermExp = DateAdd("yyyy", 1, EvalDate)
End If
End If
 
G

Guest

Thanks so much, Doug. I didn't realize I needed the additional "End If."
Best,
Laura

Douglas J. Steele said:
Try:

If Me.InitialTermExp > Now Then
Me.CurrentTermExp = Me.InitialTermExp
Else
If EvalDate > Now() Then
Me.CurrentTermExp = EvalDate
Else
Me.CurrentTermExp = DateAdd("yyyy", 1, EvalDate)
End If
End If

--
Doug Steele, Microsoft Access MVP

(no e-mails, please!)



Laura_Christian said:
Hi--I've been using the following Select Case procedure, and it's been
working like a dream. However, I need to make a slight modification to it
so
that in Case 1

If Me.InitialTermExp > Now Then
Me.CurrentTermExp = Me.InitialTermExp

The rest of the statement can still apply: i.e.,
If Me.InitialTermExp < Now And EvalDate > Now () Then
etc.

I tried to turn Case 1 into a series of If and Else If statements but got
an
error message. Can someone help? Here is the original, functioning code:

Private Sub cboRenewalConditions_AfterUpdate()
Dim EvalDate As Date
EvalDate = DateSerial(Year(Now()), Month(Me.InitialTermExp),
Day(Me.InitialTermExp))
If Not IsNull(Me.InitialTermExp) And Me.[Expired/Terminated] = 0 Then
Select Case Me.cboRenewalConditions
Case 1
If EvalDate > Now() Then
Me.CurrentTermExp = EvalDate
Else
Me.CurrentTermExp = DateAdd("yyyy", 1, EvalDate)
End If
Case 2
If Not IsNull(Me.InitialTermExp) And Me.InitialTermExp >
Now() Then
Me.CurrentTermExp = Me.InitialTermExp
Else
Me.CurrentTermExp = Null
Me.NoticeByDate = Null
End If
Case 3
Me.CurrentTermExp = Null
Me.NoticeByDate = Null
Case 4
Me.CurrentTermExp = Null
Me.NoticeByDate = Null
Case 5
Me.CurrentTermExp = Null
Me.NoticeByDate = Null
Case 6
Me.CurrentTermExp = Null
Me.NoticeByDate = Null
End Select
Else
Me.CurrentTermExp = Null
End If
 

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

Top