unique records Access 2003


R

RogerBPWD

Problem: Eliminate duplicate values based on one field and still maintain the
availablity of otherfields for the retained record.

I sort on date to bring the most recent record to the top and then want to
eliminate the duplicates of valveID.

valveID Date
1 5-19-10
1 4-10-10
1 2-15-10
2 5-8-10 start point
2 3-15-10
3 5-19-10
3 3-15-10

_____________________

1 5-19-10
2 5-8-10 desired results
3 5-19-10


I have tried Unique value and end up with either ValveID only or no records
eliminated. Same for distinct

After the duplicates are eliminated I then need to do further
sorting/filtering based on date.

Thanks for the help.
 
Ad

Advertisements

R

RogerBPWD

Yes I have duplicate valveIDs with different dates how can I remove all but
the latest date entry tied to a valveID as in my desired result?

Jerry Whittle said:
SELECT valveID, Max([Date])
FROM YourTable
GROUP BY valveID
ORDER BY valveID;

If you have a duplicate valveID/Mas of Date combos, it will return all ties.
You could try changing SELECT to SELECT DISTINCT .
--
Jerry Whittle, Microsoft Access MVP
Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder.


RogerBPWD said:
Problem: Eliminate duplicate values based on one field and still maintain the
availablity of otherfields for the retained record.

I sort on date to bring the most recent record to the top and then want to
eliminate the duplicates of valveID.

valveID Date
1 5-19-10
1 4-10-10
1 2-15-10
2 5-8-10 start point
2 3-15-10
3 5-19-10
3 3-15-10

_____________________

1 5-19-10
2 5-8-10 desired results
3 5-19-10


I have tried Unique value and end up with either ValveID only or no records
eliminated. Same for distinct

After the duplicates are eliminated I then need to do further
sorting/filtering based on date.

Thanks for the help.
 
Ad

Advertisements

J

John Spencer

If you need to be able to change data in the records after they are returned
then you will need to use a correlated sub-query to return the records.

SELECT *
FROM SomeTable
WHERE SomeTable.Date =
(SELECT Max(Temp.Date)
FROM SomeTable As Temp
WHERE Temp.ValveID = SomeTable.ValveID)

In Design view
== Add your table
== Select all the fields you want to see
== Add criteria under the Date field that looks like the above. Replace
SomeTable with the name of your table.
(SELECT Max(Temp.[Date])
FROM [SomeTable] As Temp
WHERE Temp.ValveID = [SomeTable].ValveID)

John Spencer
Access MVP 2002-2005, 2007-2010
The Hilltop Institute
University of Maryland Baltimore County
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top