2

我正在使用 MS Access 并创建了一个简单的表。我有一列作为标准ID主键(重命名为Number)。我删除了一些行,但现在当我转到下一行时,该Number列从删除的数字开始计算。

例如,它看起来像:

Number Name
1       etc
2       etc
3       etc
6       etc
7       etc
8       etc

其中第 4 行和第 5 行已被删除。

我删除了问题之后出现的所有行(即在这种情况下为 6、7、8),但它从 9 开始。有什么方法可以从 4 开始计数(因为我有 1、2、3 行剩下)?

4

2 回答 2

3

这就是自动编号应该如此。如果您需要一个有意义的计数器,则不应使用自动编号。

Access 是一个关系数据库,如果您可以删除一行,然后添加一个具有相同编号的新行,那么您将打破关系。

如果您需要序列号,请参阅Access VBA: Find max number in column and add 1

如果这是一次性问题,您可以从表中删除当前自动编号字段并保存,然后再次添加自动编号,但最好忘记顺序自动编号。永远不应向用户显示自动编号。它永远不能被认为是独一无二的,如果你搞得够多,那就更不用说了。

于 2013-03-16T20:33:34.653 回答
0

真正的问题是 Access 非常愚蠢。例如,如果创建了一个新表并且第一次输入数据但行不完整,当您返回表并重新输入数据时,数字仍然会跳过。即使它是一个空白数据库,这样做也不会有关系中的冲突/错误。作为讲师,这尤其令人沮丧,因为 Access 的其他一些行为很可能会发生这种情况。

于 2017-02-07T22:43:35.347 回答