VB操作ACCESS数据库表多字段查询有关问题,困扰了好几天了

VB操作ACCESS数据库表多字段查询问题,困扰了好几天了!
有这样一组数据表:
学号 姓名 数学 名次1 语文 名次2
1101 张三 99 87
1102 李四 97 85  
1103 王五 86 90
查询之后如何实现
学号 姓名 数学 名次 语文 名次2
1101 张三 99 1 87 2
1102 李四 97 2 85 3
1103 王五 86 3 90 1
就是查询之后将学生以学号的顺序排序,但是学生的各科目的我名次动添加名次,既名次一开始是空的,排序之后自动添加名次,并且有相同的名次时候下一个自动添加,如何实现,在此感谢!是用临时表吗!
也就是如何将名次添加进去,在VB和ACCESS环境下!

------解决方案--------------------
--如果是sql server 2000
select a.学号,
a.姓名,
a.数学,
(select count(1) from tb where 数学 > a.数学) + 1 名次1,
a.语文,
(select count(1) from tb where 语文 > a.语文) + 1 名次2
from tb a

--如果是sql server 2005 / oracle
select a.学号,
a.姓名,
a.数学,
row_number() over(order by 数学 desc) 名次1,
a.语文,
row_number() over(order by 语文 desc) 名次2
from tb a