already done such numbering.
it can be done with the highest efficiency from a VBA module that would handle a counter.
if you need it as a regular query expression, it is possible to build one that will give the count of the records for which the ID is lower or equal to the current one, so that would give the line number you expect (if no duplicates). of course, that method is slower because it takes a half full scan for each line inserted.