think you can do this in a query. I don't have the time to write out from your image so this is a guide - for the future, recommend you post the sql text and surround with the code tags.
1. create a query grouping by incident (and protagonist? not clear from your description) and min offence date
2. join this query to your main table on incident (and protagonist?) and set the criteria for the main table offence date to be between the first query offence date and first query offence date plus 6 months
e.g. something like
Q1.
Code:
SELECT incident, protagonist, min(offenceDate) as Earliest
FROM myTable
GROUP BY incident, protagonist
Q2.
Code:
SELECT myTable.*
FROM myTable INNER JOIN Q1 on myTable.incident=Q1.incident AND myTable.protagonist=Q1.protagonist
WHERE myTable.offenceDate BETWEEN Q1.Earliest AND dateadd("m",6,Q1.Earliest)