I am not understanding. What determines the first record. In access, data is stored randomly. It is not like spreadsheet. Just because a table looks like a spreadsheet, the order of the records is not necessarily the order in which they are seen. You need to determine what makes a particular record first. Think of a table as a big barrel that you throw data into. You want to retrieve the data in some orderly fashion. Often times it can be on a value (highest, lowest, etc.) or a date (earliest, latest, etc.). I am not grasping what determines in your case what should be first. In your example, the first three records have the same values for account and zip so how would you determine if you had to pull them out of the barrel which one was first?
If you want to use the date as your criteria, ie. earliest date, then perhaps these two queries will do it for you.
Code:
SELECT Sheet1.Accnt, Sheet1.Zip, Min(Sheet1.Date1) AS MaxOfField4
FROM Sheet1
GROUP BY Sheet1.Accnt, Sheet1.Zip;
SELECT Query1.Accnt, Query1.Zip, Sheet1.Address, Sheet1.Date1
FROM Query1 LEFT JOIN Sheet1 ON (Query1.MaxOfField4 = Sheet1.Date1) AND (Query1.Accnt = Sheet1.Accnt) AND (Query1.Zip = Sheet1.Zip);
Alan