-
I´m trying to compare time using the next code
fec = Now
Select Case fec
Case Is > #8:29:00 AM# And fec < #9:01:00 AM#
-----------------
----------------
Case Is > #9:00:00 AM# And fec < #1:51:00 PM#
For example at the time I test this code the variable fec =
Watch : : fec : 28/10/00 02:07:34 p.m. : Date :
and the firt CASE take it as if (fec) was in that range I also use:
fec = Now
Select Case fec
Case #8:29:00 AM# TO #9:01:00 AM#
-----------------
----------------
Case #9:00:00 AM# TO #1:51:00 PM#
but it din´t work either.
Any ideas.
Thanks...
-
do you get an error?
Did you use an End Select at the end?
-
Yes I did
this is the complete sub
Private Sub hora()
fec = Now
Select Case fec
Case Is > #8:29:00 AM# And fec < #9:01:00 AM#
numempa = numemp & LTrim("E")
Call GetAsist(numempa)
If flag = False Then
fec = #9:00:00 AM#
AddToDatabase (numempa)
Else
MsgBox "La entrada para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case Is > #9:00:00 AM# And fec < #1:51:00 PM#
numempa = numemp & LTrim("E")
Call GetAsist(numempa)
If flag = False Then
AddToDatabase (numempa)
Else
MsgBox "La entrada para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case Is > #1:50:00 PM# And fec < #2:31:00 PM#
numempa = numemp & LTrim("SC")
Call GetAsist(numempa)
If flag = False Then
fec = #2:00:00 PM#
AddToDatabase (numempa)
Else
MsgBox "La salida a comer para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case Is > #2:30:00 PM# And fec < #3:06:00 PM#
numempa = numemp & LTrim("EC")
Call GetAsist(numempa)
If flag = False Then
fec = #3:00:00 PM#
AddToDatabase (numempa)
Else
MsgBox "La entrada de comer para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case Is > #3:05:00 PM# And fec < #6:11:00 PM#
numempa = numemp & LTrim("EC")
Call GetAsist(numempa)
If flag = False Then
fec = Now
AddToDatabase (numempa)
Else
MsgBox "La entrada de comer para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case Is > #6:10:00 PM# And fec < #6:51:00 PM#
numempa = numemp & LTrim("S")
Call GetAsist(numempa)
If flag = False Then
fec = #6:30:00 PM#
AddToDatabase (numempa)
Else
MsgBox "La salida para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case Is > #6:50:00 PM# And fec < #11:01:00 PM#
numempa = numemp & LTrim("S")
Call GetAsist(numempa)
If flag = False Then
fec = Now
AddToDatabase (numempa)
Else
MsgBox "La salida para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
End Select
txtnumemp.Text = ""
End Sub
-
I may be wrong, but I do not think you can have AND in a select case clause. It sort of defeats the object.
It seems an extremely bizarre way to do things. Change over to If...Then...ElseIf...end structure, and you'll have no problems.
-
alternatively...
Case Is #8:29:00 AM# To #9:01:00 AM#
-
Well about using the AND in the select case statment I found this in MSDN.
Dim Number
Number = 8 ' Initialize variable.
Select Case Number ' Evaluate Number.
Case 1 To 5 ' Number between 1 and 5.
Debug.Print "Between 1 and 5"
' The following is the only Case clause that evaluates to True.
Case 6, 7, 8 ' Number between 6 and 8.
Debug.Print "Between 6 and 8"
Case Is > 8 And Number < 11 ' Number is 9 or 10.
Debug.Print "Greater than 8"
Case Else ' Other values.
Debug.Print "Not between 1 and 10"
End Select
-
Thanks wossname, but using your alternative I get this
Compile error:
Expected : = or <> or > or < ......
-
this code gives me no errors:
Code:
Dim i
i = 2
Select Case i
Case 1, 2
MsgBox "HELLO"
Case 2 To 4
Beep
End Select
so perhaps its because your using "#" to define dates. Use the dateserial() function instead. that might work
-
¿Porque no pruebas esto?
¿Podrías Copiar y Pegar esto?
Code:
Private Sub hora()
fec = Format(Now, "hh:mm:ss AMPM")
Select Case fec
Case #8:29:00 AM# To #9:01:00 AM#
numempa = numemp & LTrim("E")
Call GetAsist(numempa)
If flag = False Then
fec = #9:00:00 AM#
AddToDatabase (numempa)
Else
MsgBox "La entrada para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case #9:00:00 AM# To #1:51:00 PM#
numempa = numemp & LTrim("E")
Call GetAsist(numempa)
If flag = False Then
AddToDatabase (numempa)
Else
MsgBox "La entrada para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case #1:50:00 PM# To #2:31:00 PM#
numempa = numemp & LTrim("SC")
Call GetAsist(numempa)
If flag = False Then
fec = #2:00:00 PM#
AddToDatabase (numempa)
Else
MsgBox "La salida a comer para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case #2:30:00 PM# To #3:06:00 PM#
numempa = numemp & LTrim("EC")
Call GetAsist(numempa)
If flag = False Then
fec = #3:00:00 PM#
AddToDatabase (numempa)
Else
MsgBox "La entrada de comer para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case #3:05:00 PM# To #6:11:00 PM#
numempa = numemp & LTrim("EC")
Call GetAsist(numempa)
If flag = False Then
fec = Now
AddToDatabase (numempa)
Else
MsgBox "La entrada de comer para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case #6:10:00 PM# To #6:51:00 PM#
numempa = numemp & LTrim("S")
Call GetAsist(numempa)
If flag = False Then
fec = #6:30:00 PM#
AddToDatabase (numempa)
Else
MsgBox "La salida para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
Case #6:50:00 PM# To #11:01:00 PM#
numempa = numemp & LTrim("S")
Call GetAsist(numempa)
If flag = False Then
fec = Now
AddToDatabase (numempa)
Else
MsgBox "La salida para este empleado ya ha sido marcada", vbOKOnly, "Aviso"
End If
End Select
txtnumemp.Text = ""
End Sub
Y luego me Cuentas... ;)
[Edited by D12Bit on 10-28-2000 at 05:56 PM]