Using Access 2003 Database
Table1
Intime Outtime WorkTime OverTime
08:00:00 19:00:00 09:00:00 02:00:00
09:00:00 18:23:23 09:00:00 00:23:23
15:00:00 ----- 00:00:00 00:00:00
09:00:00 18:00:00 09:00:00 00:00:00
Intime, Outtime, Work time, overtime data type is text
From 09:00:00 to 18:00:00 - It will come in Work time
Before 09:00:00, after 18:00:00 – It will come in overtime
My query.
SELECT PERSONID,
CARDEVENTDATE,
INTIME,
OUTTIME,
(IIF(OUTTIME = 'No Punchout', '00:00:00', WorkTime)) AS WorkedTime,
(IIF(OUTTIME = 'No Punchout', '00:00:00', OverTime)) AS OverdutyTime,
Latecome,
(IIF(OUTTIME = 'No Punchout', '', EarlyLeave)) AS EarlyLeave
FROM
(SELECT PERSONID,
CARDEVENTDATE,
INTIME,
(IIF(OUTTIME = INTIME, 'No PunchOut', OUTTIME)) AS OUTTIME,
(Format(IIf(CLng(OutTime) > 180000,
CDate('18:00:00'),
CDate(Format(OutTime, '00:00:00')))
- IIf(CLng(InTime) < 90000,
CDate('09:00:00'),
CDate(Format(InTime, '00:00:00'))),
'hh:nn:ss')) AS WorkTime,
(Format(IIf(CLng(InTime) < 90000,
CDate('09:00:00')
- CDate(Format(InTime, '00:00:00')), 0)
+ IIf(CLng(OutTime) > 180000,
CDate(Format(OutTime, '00:00:00'))
- CDate('18:00:00'), 0),
'hh:nn:ss')) AS OverTime,
(Format(IIf(CLng(Intime) > 090000,
CDate(Format(Intime, '00:00:00')))
- IIf(90000, CDate('09:00:00'),
CDate(Format(InTime, '00:00:00'))),
'hh:nn:ss')) AS LateCome,
(Format(IIf(180000,
CDate('18:00:00'),
CDate(Format(outtime, '00:00:00')))
- IIf(CLng(Outtime) < 180000,
CDate(Format(Outtime, '00:00:00'))),
'hh:nn:ss')) AS EarlyLeave
(SELECT T_PERSON.PERSONID,
T_CARDEVENT.CARDEVENTDATE,
MIN(T_CARDEVENT.CARDEVENTTIME) AS INTIME,
MAX(T_CARDEVENT.CARDEVENTTIME) AS OUTTIME
FROM T_PERSON
INNER JOIN T_CARDEVENT
ON T_PERSON.PERSONID = T_CARDEVENT.PERSONID
GROUP BY T_PERSON.PERSONID,
T_CARDEVENT.CARDEVENTDATE
)
)
Above query is Correctly Working in my system.
But when I use the query in client system, it showing like this…
Table1
Intime Outtime WorkTime OverTime
08:00:00 19:00:00 09:00:00 AM 02:00:00 AM
09:00:00 18:23:23 09:00:00 AM 12:23:23 AM
15:00:00 ----- 12:00:00 AM 00:00:00 AM
09:00:00 18:00:00 09:00:00 AM 12:00:00 AM
It is displaying 12:00:00 AM Instead of 00:00:00 and also displaying 12:23:23 instead of 00:00:00.
If it is 00 then it is displaying 12:00:00 AM.
Clients Using Access 2007 Database. There is not Access 2003 or Access 2007 Problem. Why worktime and Overtime is displaying like 12:00:00 AM. I copied the client database and check the database in my System. Work Time and Over Time is correctly displaying.
Please can any one help to solve my problem.