Did pmanivas's answer work for you? I've been trying to duplicate your problem and use it. Maybe I'm not implementing it right.
Anyway, I tried a multi-step process with the following in SQL view of two queries:
Query#1: (Query1)
SELECT Table.accounts, Max(Table1.dates) AS MaxOfdates
FROM Table
GROUP BY Table.accounts;
This isolates most current dates and is helpful if accounts is your index with no other primary key. Or you may want to remove the primary key temporarily if it's just an arbitrary thing like an autonumber.
Query#2: Make a new table with only your current dates' records, which you can rename to replace the original table with the duplicates:
SELECT Table.* INTO Table2
FROM Table, Query1
WHERE (((Table.accounts)=[query1].[accounts]) AND ((Table.dates)=[query1].[maxofdates]));