That gives me the list but when I add t_dtail.[InvID] to the results (which I need) I get all records other than the last record (which I wanted excluded) But I only wanted the LAST (Max) tdate for each InvID (again, excluding the last one)

Hope the above made sense

Seems like you almost have to have two inner joins or left joins (but I REALLY don't know)
One to get the Max date for every INVID then using that MaxDate for Each INVID selecting the Last INVID Excluding the one for Each InvID found in step 1

SELECT t_Dtail.InvID, Max(t_Dtail.tdate) AS MaxDateFROM t_Dtail LEFT JOIN (SELECT Max(t_dtail.InvID) AS MaxInvID, t_dtail.ItemID FROM t_dtail WHERE (((t_dtail.ActiveYN)=True)) GROUP BY t_dtail.ItemID) AS LastInvID ON t_Dtail.InvID = LastInvID.MaxInvIDWHERE (((t_Dtail.ActiveYN)=True) AND ((LastInvID.MaxInvID) Is Null))GROUP BY t_Dtail.InvID;