Dear Tim:
A query can perform what is commonly called "ranking" the rows. To find out
whether this is what you want or not is my first object.
When a query ranks the rows, it uses one or more columns of the data to
create an order for the rows. If you want a unique number assigned to the
rows, then you must specify a set of columns in which to order the rows that
is unique. If you have two or more rows with the same values in the set of
columns specified, then these rows will all be ranked the same.
A query that assigns ranks to a set of rows is only valid till that set
changes. If a row is deleted, inserted, or if any of the values in the set
of columns by which it ranks is changed, then the next time the query is
run, the ranking will change. Thus, it does not "assign" a number to each
row. It merely determines a number that defines each rows current position
in the ordering defined.
If you want these number "assigned" in any permanent fashion, you would have
to create a new column in which to store the values derived by the query.
If you do permanently assign values, then when rows are deleted or inserted,
or any of the values in the set of rows by which it was ordered happen to
change, then the values in the stored column would no longer reflect the
order of the rows. That represents an obvious tradeoff between assigning a
permanent number and being able to delete, insert, and update data.
Perhaps you might want to just add an autonumber column to the table. Then,
in a query, add 50 to the values it provides. That may or may not be what
you're looking for.