Ah Paul's solution somewhat simpler than mine...
I went back to the original query and used that ... doh!
Code:
If strList <> "" Then
strList = Left(strList, Len(strList) - 1)
strList = "(" & strList & ")"
strSQL = "SELECT DISTINCT EMPLOYEES.EMP_NB, EMPLOYEES.EMPLOYEE, [TheTimeQuery_No Calculations].Schedule_ID, Sum([TheTimeQuery_No Calculations].DT_Hours) AS SumOfDT_Hours, Sum([TheTimeQuery_No Calculations].[Afternoon Hours]) AS [SumOfAfternoon Hours], Sum([TheTimeQuery_No Calculations].[Night Hours]) AS [SumOfNight Hours], Sum([TheTimeQuery_No Calculations].[OT Hours]) AS [SumOfOT Hours], Sum([TheTimeQuery_No Calculations].UnAfternoonSD) AS SumOfUnAfternoonSD, Sum([TheTimeQuery_No Calculations].UnOvernightSD) AS SumOfUnOvernightSD"
strSQL = strSQL & " FROM EMPLOYEES INNER JOIN [TheTimeQuery_No Calculations] ON EMPLOYEES.schedule_id = [TheTimeQuery_No Calculations].Schedule_id"
strSQL = strSQL & " WHERE [EMP_NB] IN " & strList & " "
strSQL = strSQL & " AND [TheTimeQuery_No Calculations].WorkDay Between #" & Nz(Format([Forms]![frmtimesheet]![txtPeriod1], "yyyy/mm/dd"), 1 / 1 / 1000) & "# And #" & Nz(Format([Forms]![frmtimesheet]![TxtPeriod2], "yyyy/mm/dd", 1 / 1 / 3000)) & "#"
strSQL = strSQL & " GROUP BY EMPLOYEES.EMP_NB, EMPLOYEES.EMPLOYEE, [TheTimeQuery_No Calculations].Schedule_ID"
strSQL = strSQL & " ORDER BY EMPLOYEES.EMPLOYEE "
'(send e-mail)
Else
I doubt the Nz portion will work as access is treating them as a calculation, rather than a date string.