I'm not a fan of using domain functions in queries. Assuming your table is named
tblTest and has the fields Project, Quarter, StartDate and EndDate with the appropriate data types try this:
Code:
SELECT tblTest.Project, tblTest.Quarter, tblTest.StartDate, tblTest.EndDate, Max(IIf([tbltest_1]![quarter]<[tbltest]![quarter],[tbltest_1]![startdate],Null)) AS PrevStart, Max(IIf([tbltest_1]![quarter]<[tbltest]![quarter],[tbltest_1]![enddate],Null)) AS PrevEnd, IIf(IsNull(Max(IIf([tbltest_1]![quarter]<[tbltest]![quarter],[tbltest_1]![startdate],Null))),Null,IIf(Max(IIf([tbltest_1]![quarter]<[tbltest]![quarter],[tbltest_1]![startdate],Null))<>[tbltest]![startdate],"Yes",Null)) AS IndicatorStart, IIf(IsNull(Max(IIf([tbltest_1]![quarter]<[tbltest]![quarter],[tbltest_1]![enddate],Null))),Null,IIf(Max(IIf([tbltest_1]![quarter]<[tbltest]![quarter],[tbltest_1]![enddate],Null))<>[tbltest]![enddate],"Yes",Null)) AS IndicatorEnd
FROM tblTest LEFT JOIN tblTest AS tblTest_1 ON tblTest.Project = tblTest_1.Project
GROUP BY tblTest.Project, tblTest.Quarter, tblTest.StartDate, tblTest.EndDate
ORDER BY tblTest.Project, tblTest.Quarter;
I left a couple of extra fields in there to show you the calculation of the 'previous' start and end dates which I plugged into the indicator columns.