How about changing the way you are displaying the data? What about:
Surname (of search), Firstname (of search), Year, No, Surname (of spouse), Firstname (of spouse)
To do this in MS Access, then for your SQL query try:
SELECT h.surname, h.first_name, h.[year], h.[no.], w.surname, w.first_name
FROM marriages h
INNER JOIN marriages w
ON h.[year] = w.[year]
AND h.[no.] = w.[no.]
AND h.surname <> w.surname
AND h.first_name <> w.first_name
WHERE h.surname LIKE '*JONES*';
In MS SQL Server:
SELECT h.surname, h.first_name, h.[year], h.[no.], w.surname, w.first_name
FROM marriages h
INNER JOIN marriages w
ON h.[year] = w.[year]
AND h.[no.] = w.[no.]
AND h.surname <> w.surname
AND h.first_name <> w.first_name
WHERE h.surname LIKE '%JONES%';