Nested If

  • Thread starter Thread starter DS
  • Start date Start date
D

DS

Is there a better way to code this statement? It works but I'm sure
there might be a better way.
Thanks
DS

Private Sub Image55_Click()
If IsNull(Me.TextD) Then
DoCmd.OpenForm "NoIDENTERED"
Else:
Dim vResult As Long
vResult = Nz(DLookup("[SignedIN]", "[Employees]", "EmployeeID=" &
Me.TextD & "And Active=" & -1), 7)

If vResult = 7 Then
DoCmd.OpenForm "InvalidID"
ElseIf vResult = -1 Then
If Me.TermType = 1 Then
DoCmd.OpenForm "Bar"
DoCmd.Close acForm, "ProServ"
ElseIf Me.TermType = 2 Then
DoCmd.OpenForm "DineIN"
DoCmd.Close acForm, "ProServ"
ElseIf Me.TermType = 3 Then
DoCmd.OpenForm "EatOut"
DoCmd.Close acForm, "ProServ"
End If
ElseIf vResult = 0 Then
DoCmd.OpenForm "NotSignedIN"
End If
End If
Me.Line16.Visible = False
Me.TextD = Null
End Sub
 
Looks okay to me (other than the fact that the indented isn't complete)

You could use a SELECT CASE rather than the multiple ElseIf if you wanted
to, but I don't think one's necessarily better than the other in this case.
 
Douglas said:
Looks okay to me (other than the fact that the indented isn't complete)

You could use a SELECT CASE rather than the multiple ElseIf if you wanted
to, but I don't think one's necessarily better than the other in this case.
Thanks, Feels good to do something Right !!!
DS
 
One may not be better than the other from an execution perspective; however,
the Select Case would be much easier to read.

Douglas J Steele said:
Looks okay to me (other than the fact that the indented isn't complete)

You could use a SELECT CASE rather than the multiple ElseIf if you wanted
to, but I don't think one's necessarily better than the other in this case.

--
Doug Steele, Microsoft Access MVP

(no e-mails, please!)


DS said:
Is there a better way to code this statement? It works but I'm sure
there might be a better way.
Thanks
DS

Private Sub Image55_Click()
If IsNull(Me.TextD) Then
DoCmd.OpenForm "NoIDENTERED"
Else:
Dim vResult As Long
vResult = Nz(DLookup("[SignedIN]", "[Employees]", "EmployeeID=" &
Me.TextD & "And Active=" & -1), 7)

If vResult = 7 Then
DoCmd.OpenForm "InvalidID"
ElseIf vResult = -1 Then
If Me.TermType = 1 Then
DoCmd.OpenForm "Bar"
DoCmd.Close acForm, "ProServ"
ElseIf Me.TermType = 2 Then
DoCmd.OpenForm "DineIN"
DoCmd.Close acForm, "ProServ"
ElseIf Me.TermType = 3 Then
DoCmd.OpenForm "EatOut"
DoCmd.Close acForm, "ProServ"
End If
ElseIf vResult = 0 Then
DoCmd.OpenForm "NotSignedIN"
End If
End If
Me.Line16.Visible = False
Me.TextD = Null
End Sub
 

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

Similar Threads

SQL If Problem 7
Compacting BackEnd 4
Sloooow CODE 1
If Statement is Wacky 2
runtime error 3
If Statements 2
If Statement 4
Nested IF Problem 1

Back
Top