OP - it might be worth stating exactly what rownumber does since otherwise you are not only relying on people knowing Access but also Oracle. In an Access forum that probably knocks out about 90% of the posters.
I don't believe it exists in 2k7.
I believe rownumber relies on a propietry way that Oracle stores data but I'm a bit hazy on this. Two options - create a table with an autonmuber field, insert your result set into there and then select. Otherwise have a sub select that counts all rows where pk < subselect.pk. SQL Server 2005 has a row_number function using the over clause too.
it has nothing to do with the way the data is stored in oracle
row number is a concept that makes sense only in the context of a result set
when you run a query, and get a result set back, those rows definitely are numbered (whether an ORDER BY was specified or not, but especially when), and oracle merely implemented this as an actual reserved word slash query function
oracle recognized a need and satisifed it, and many versions ago, to boot -- one of several things positive i have to say about oracle (another is CONNECT BY)