Here is your updated query, I used InStr to look for "PM" in the shift code (JobNumber):
Code:
SELECT EmployeeLog.Day, EmployeeLog.Name, EmployeeLog.JobNumber, EmployeeLog.TimeIn, EmployeeLog.TimeOut, EmployeeLog.Lunch, (Abs(DateDiff("n",[TimeIn],[TimeOut])/60)-[Lunch]) AS Total, IIf(InStr([JobNumber],"PM")=0,day_hours([TimeIn],[TimeOut])-[Lunch],0) AS [Day Hours], [Total]-([Day Hours]+[Afternoon Hours]) AS [Night Hours], EmployeeLog.Schedule_id, IIf(InStr([JobNumber],"PM")>0,day_hours([TimeIn],[TimeOut])-[Lunch],0) AS [Afternoon Hours]
FROM EmployeeLog;