I'm heading off for the weekend so here is some code that does your report. Assuming your duplicates query is called qryDup and returns the SN, UI, regDT fields
note that using spaces and non alpha numeric characters in table and field names can cause problems, better not to have them.
Code:
SELECT SN, UI, regDT, IIf([regdt]=[minofregdt],"keep","delete") AS Action
FROM qryDup
INNER JOIN (SELECT SN, Min(regDT) AS MinOfregDT
FROM qryDup
GROUP BY SN) AS M
ON qryDup.SN = M.SN;
call this query qryRpt
and to delete (assuming your table is called tblRegistry)
Code:
DELETE DISTINCTROW tblRegistry.*
FROM tblRegistry
INNER JOIN qryRpt
ON tblRegistry.SN = qryRpt.SN AND tblRegistry.regDT = qryRpt.regDT
WHERE Action='delete'
this deletes all but the earliest record and assumes SN is the key field, the UI field is only there for the report