I am assuming the Eff means effective date and is the starting date and that Exp means the expiration date and is the ending date.
If so, it looks like you have the criteria already set up well like this:
Code:
[East].[Eff] <= [West].[Exp]
[East].[Exp] >= [West].[Eff]
[East].[Affiliation_ID] = [West].[affiliation_ID]
[East].[ID] = [West].[ID]
But it looks like the data you show on the report has the first two columns switched in that the supposedly earlier [West].[Eff] data is being shown in the West.Exp column and the supposedly later [West].[Exp] data is being shown in the West.Eff column.
And for sorting on the earliest start date of two overlapping date ranges perhaps you could create a field something like this to sort on:
Code:
EarliestEffDate: IIf([East].[Eff]<=[West].[Eff],[East].[Eff],[West].[Eff])