Thanks everyone! I've got it working like this:
SELECT tblStudent.anStudentId,
tblStudent.txtFullName,
tblStudent.txtMobile,
(SELECT TOP 1 txtClassCode
FROM tblStudentClass
INNER JOIN tblClass ON (anClassID=lngClass)
WHERE (tblStudentClass.lngStudent=tblStudent.anStudentID)
ORDER BY dtLatestEndDate DESC) As LastClassCode
FROM tblStudent
WHERE
EXISTS (SELECT 1 FROM tblStudentClass WHERE tblStudentClass.lngStudent...