2011-05-24 20:07:13 +0000 2011-05-24 20:07:13 +0000
9
9

如何在Access中设置AutoNumber的第一个值?

我不需要像 这个问题 那样重新设置 AutoNumber 的值,而是想先将数字设置为:

1001

然后像平常一样递增:

1001

1002

1003

… …

我如何在 Access 2010 中进行操作?

答案 (7)

15
15
15
2011-05-24 20:33:07 +0000

虽然Access没有原生提供这个功能,但可以通过查询来实现,比如下面的查询。

CREATE TABLE TableThatIncrements
(
Id AUTOINCREMENT(1001,1)
)

这将创建一个名为 “TableThatIncrements "的单表 有一列,名为 "Id"。现在您可以使用表格编辑器来添加属性和/或其他列。

更改

AUTOINCREMENT(x,y)

以满足您的需求,其中x是初始增量数,y是要增量的数字。所以AUTOINCREMENT(100,5)将产生:100、105、110、115等。

如果你想改变一个现有的表,使用下面的查询。确保特定表的标签页是关闭的,这样Access就可以锁定它并更改它。

ALTER TABLE TableThatIncrements
   ALTER COLUMN Id AUTOINCREMENT(1001,1)

你可以在Access中运行查询,方法如下。

1.进入 "创建 "选项卡,点击 "查询设计”

  1. 关闭出现的要求你选择表的窗口即可,我们不需要这个。

  2. 转到 “设计 "选项卡,点击带箭头的按钮,直到得到一个文字输入界面。默认情况下,它说SELECT;)。

  3. 删除默认文本,粘贴上面的查询。

  4. 点击 "运行"。

    5.点击 "运行"。

2
2
2
2018-06-27 14:18:09 +0000

1-创建表1 2-去创建——- \设计查询。3- 关闭表格 4- 从上面进入SQl。5- 过去这段代码。

ALTER TABLE [TABLE1] ALTER COLUMN [Id] COUNTER (8982,1)

1
1
1
2011-05-24 20:18:11 +0000

你必须欺骗Access,因为它认为你对与它提供的自动编号不同的自动编号不感兴趣。

你需要用自定义的自动编号来启动表格,这需要一些设置。但是一旦它开始运行,你就可以从那里继续添加。

Google “access change autonumber start",你会发现有好几个选项可以这样做。大多数依靠创建一个追加查询来修改字段。

创建第一个包含计数器类型字段的表,你想从另一个数字开始。不要输入任何记录.创建第二个表,包含一个单一的长整数类型字段,其名称与第一个表中的计数器字段相同。在第二张表中创建一条记录,输入一个比第一张表中要开始计数的数字少一个的数字。创建一个追加查询,将第二张表中的一条记录追加到第一张表中,并运行它 删除第二张表,删除追加到第一张表中的记录,然后开始输入数据。

From MVPS.org http://access.mvps.org/access/tables/tbl0005.htm

如果你不喜欢建立追加查询,你可以随时建立表,然后从excel中复制粘贴1000行虚数据,删除记录,直到你到1001号,然后从那里继续。

UPDATE:增加解释原因

autonumber只设置为从1开始的原因是,autonumber字段是用来作为内部参考字段的,在良好的数据库实践中,一般不应该以任何公开可见的形式使用。在给定表格中还没有唯一项目的情况下,它被用来创建一个唯一的条目,通过这个条目可以对表格进行搜索和索引。

1
1
1
2018-02-10 22:13:06 +0000

这个网站有一个非常简单的方法,可以用任何你想用的数字来开始你的自动编号 http://www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp

你用一个表达式创建一个查询,告诉自动编号字段要改变

“首先,运行这个查询。

INSERT INTO tblName ( ID ) SELECT 999 AS Expr1

其中tblName是表名,ID是自动数字字段的名称。

然后,运行第二个查询来删除插入的记录。

DELETE FROM tblName WHERE ID=999;

(或者,你可以简单地打开表,手动删除你插入的行。)

现在,添加到表中的下一条记录被赋值为1000。

这个方法适用于一个新表,或者是AutoNumber还没有达到Seed值的表。当然,现有行的ID字段不会改变,但后续行将以1000开头)”

0
0
0
2017-01-24 18:13:24 +0000

这是一个很老的帖子,但仍然作为谷歌搜索结果的前三名弹出。

用户可能想改变自动编号字段的值的一个原因是为了纠正数据库编辑造成的错误。当一个管理员可能想对数据库的前端进行一些重大的修改时,该管理员可能会对所有相关的表进行复制,并将前端的开发副本重定向到这些后端。如果改动足够大,他可能只是用他的副本替换前端的生产副本,测试后重定向所有链接表。

没问题吧?好吧,自动编号的增量是留在前端的。所以,如果生产端只是在管理员处理副本的时候将自动编号递增了50或500或5000个数字,那么新的生产副本将通过重试这些相同的数字,并不能在这些字段中输入项目,一次一个,直到它得到 “清除"。复制50行、500行或5000行excel数据,然后试着粘贴进去。每一行都会出错(当它弹出时,一定要抑制进一步的信息),但自动编号会按这个数量递增,你就可以重新开始了。如果你以这种方式使用自动编号,建议在用开发副本覆盖之前,先把数字递增到生产数据库的任何位置。

这也是一种将自动编号设置在高于1的位置的方法,就像以前将Geocities主页的页面访问量设置为17,479,但实际上它只被访问了16次。由你。

0
0
0
2017-11-12 15:50:55 +0000

我相信它可以实现您的自定义增量范围,首先创建一个隐藏的表,这将保持初始间隙的自动增量开始从零到你的选择,例如。该表将保持0至1050然后你开始在增量1055,1060,1065等。然后,你将隐藏这部分数据从表中。希望这能帮到你。看来Access的设计是为了从零开始看,因为会产生冲突。

0
0
0
2017-02-24 02:19:19 +0000

一个简单的方法是有一个自动编号字段(如 “ID")和第二个计算字段(如 "ItemID"),然后为计算字段输入公式 "1000+[ID]"。这个新字段现在将自动跟踪自动编号字段,但将从1001而不是1开始。