我有一个包含30列的表,我已使用查询降序排序。现在我想在此表中添加一个带有数字列表的列,使得1表示已排序列的最高位,依此类推。
我已根据我需要编号的列和我尝试使用COUNT()
函数编号的列进行排序,但它会为所有记录返回零。
SELECT Count([Field1]) AS Expr1
FROM MasterT2
答案 0 :(得分:0)
通常,如果您在有ORDER的地方追加选择的记录 BY子句,进入一个带有自动编号字段的表,一个增量字段,而不是一个 随机一个,插入将遵循ORDER BY序列,因此, 自动编号将提供排名。所以,如果表有一个自动编号字段, 只需将已排序的记录附加到表中(不提供值) 对于自动编号字段,在insert语句中。)
来源:http://www.pcreview.co.uk/threads/can-you-autonumber-in-a-query-based-on-sorting-order.1170632/
答案 1 :(得分:0)
众多可能的方法之一。
在你的帖子中,它表示你想要在表格中添加一个列,所以..在设计视图中添加一个列,根据需要调用它,给它一个数字类型并保存。在VBA:
dim db as DAO.database
dim rs as DAO.recordset
dim count as int
count = 0
set db = currentdb
set rs = db.openrecordset("SELECT * FROM YOURTABLE ORDER BY YOURFIELD",dbopenDynaset)
if rs.countrecords > 0 THEN
rs.movefirst
DO WHILE not rs.eof
rs.update
rs!OrderField = count
rs.update
count = count + 1
loop
end if
set rs = nothing
set db = nothing