公司考勤要公开,要写个小页面,用到前台计算机共享的Access文件,要求页面能直接判断员工的上班下班时间是否和标准,
我在一条语句里把东西都搞定,结果,发现奇怪问题,同样的函数IIf,对下班的那部分可以实现,对上班那部分就出问题,实在Ghost
SELECT
B.TP_B, B.M_T, B.A_T,
IIf(FORMAT(B.A_T,
'
hh:nn:ss
'
)
>
#
18
:
00
:
00
#,
'
正常
'
,
'
早退
'
)
AS
TYPE_A,
IIF(FORMAT(B.M_T,
'
hh:nn:ss
'
)
>
#
09
:
05
:
00
#,
'
迟到
'
,
'
正常
'
)
AS
TYPE_M
FROM
(
SELECT
MAX
(TP_A)
AS
A_T,
MIN
(TP_A)
AS
M_T, TP_B
FROM
(
SELECT
FORMAT(CHECKINOUT.CHECKTIME,
'
hh:nn:ss
'
)
AS
TP_A,
FORMAT(CHECKINOUT.CHECKTIME,
'
yyyy-MM-dd
'
)
AS
TP_B,
USERINFO.NAME
FROM
(CHECKINOUT
INNER
JOIN
USERINFO
ON
CHECKINOUT.USERID
=
USERINFO.USERID)
WHERE
(USERINFO.USERID
=
7
)
AND
(CHECKINOUT.CHECKTIME
>
#
4
/
1
/
2008
#)) A
GROUP
BY
TP_B)
AS
B
没想到,数据显示能早退的判断正常,但是迟到的判断出问题,很是郁闷,我先后把这部分单独提出组成语句、调换位置,都无法实现正常反应,郁闷...