如何在不使用任何类型的JOIN的情况下在MS ACCESS中的表中插入数字?

时间:2015-06-05 13:54:46

标签: ms-access ms-access-2010

我有一个包含30列的表,我已使用查询降序排序。现在我想在此表中添加一个带有数字列表的列,使得1表示已排序列的最高位,依此类推。

我已根据我需要编号的列和我尝试使用COUNT()函数编号的列进行排序,但它会为所有记录返回零。

SELECT Count([Field1]) AS Expr1
FROM MasterT2

2 个答案:

答案 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