You can also, if your output is a report, simply put in a line count field on your report and order your race finishes by time, the line count field will properly number the finishing positions assuming your sort is what you want.
I made a table called tblRaces, changed your TIME field to RACETIME and your RACE# field to RACENUM. TIME is a reserved word in access and you do not want to use it as a field name. Likewise # is a special character that has meaning in access so you do not want to use it in a field name either.
This query does what you want:
Code:
SELECT tblRaces.RaceNum, tblRaces.Racer, tblRaces.RaceTime, DCount("*","tblRaces","[RaceNum] = " & [racenum] & " AND [RaceTime] <= " & [racetime] & "") AS RacePlace
FROM tblRaces
ORDER BY tblRaces.RaceNum, tblRaces.Racer;
Normally I try to stay away from Domain functions (Dsum, dcount, davg, etc) so consider what you need your final product to be, is it a list of races involving the same people and an overall winner based on placement in a series of races? if so you can do that on a report without using domain functions.