I'm not trying to replace "tblVolunteers"
I'd say you are. The first name is the copy name, the next name is the source name, so you're saying "copy TblLastYear as TblVolunteers". As for the latest question, there's no way I could figure that out just by reading a novel of sql. Usually when queries don't perform as expected, I copy the original and remove fields/tables from the copy until records appear. Then by the process of inclusion, attempt to narrow down the problem until it breaks again. It could be a join, criteria, missing table required for the search - many things. 2 suggestions I'd make
1) use code tags with indentation for more than a few lines of code or sql. Makes it easier to read and avoids the automatic insertion of spaces here at 50 characters of unbroken text
2) maybe research table aliasing so you can shorten your sql. Would help you and others who have to read it. It would look something like
Code:
SELECT T1.Badge, T1.FirstName, T1.LastName, T1.Title, T1.StatusCode, T1.TypeCode, T1.KindCode, T1.Street1, T1.Street2, T1.City, T1.State, T1.Zip, T1.HomePhone,
T1.CellPhone, T1.Email, T1.LifeHours, T1.YTDHours, T1.StartDate, T1.StopDate, T1.DateOfBirth, TblVolEd.Course, TblVolEd.[Completion Date], TblVolEd.Time
FROM T1 AS QmatTblLastYearToTblVolunteers INNER JOIN TblVolEd ON T1.[Badge] = TblVolEd.[Badge Nbr];