This query will include the last row of data in each record, you would just use the Last columns to populate your header:
SELECT tblEmpTrans.Employee, tblEmpTrans.SiteWorked AS LastSite, tblEmpTrans.PeriodFrom AS LastDate, T1.SiteWorked, T1.PeriodFrom, T1.PeriodTo, T1.CoreCrew, T1.BlackListed
FROM tblEmpTrans INNER JOIN tblEmpTrans AS T1 ON tblEmpTrans.Employee = T1.Employee
WHERE (((tblEmpTrans.PeriodFrom)=(SELECT Max(T2.PeriodFrom) AS MaxOfPeriodFrom FROM tblEmpTrans as T2 WHERE T2!Employee = tblEmpTrans.Employee GROUP BY T2.Employee;)));