Answers:
尽管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中运行查询:
转到“创建”标签,然后单击“查询设计”
只需关闭出现的要求您选择表格的窗口,我们就不需要了。
转到“设计”选项卡,然后单击带有箭头的按钮,直到出现文本输入屏幕。(默认情况下为SELECT;
)。
删除默认文本并粘贴以上查询。
点击“运行”。
您必须欺骗Access,因为它假定您对与其提供的自动编号不同的自动编号不感兴趣。
您需要使用自定义自动编号开始表格,这需要进行一些设置。但是一旦完成,您就可以从那里继续添加。
Google“访问权限更改自动编号开始”,您将找到几个选项。大多数依赖于创建追加查询来修改字段。
创建第一个表,其中包含要从另一个数字开始的计数器类型字段。不要输入任何记录,请创建第二个表,该表的单个长整数类型字段的名称与第一个表中的计数器字段的名称相同。在第二个表中创建一个记录,方法是输入一个比您要在第一个表中启动计数器的数字小一的数字。创建一个追加查询,以将第二个表中的一个记录追加到第一个表,并运行它。删除第二个表,删除您追加到第一个表的记录,然后开始输入数据。
从MVPS.org: http://access.mvps.org/access/tables/tbl0005.htm
如果您不想建立一个追加查询,则可以始终设置表并从excel复制并粘贴1000行虚拟数据,删除记录,直到达到数字1001,然后从那里继续。
更新:添加原因说明
自动编号仅设置为从1开始的原因是,自动编号字段旨在用作内部参考字段,并且在良好的数据库实践中,通常不应以任何公开可见的形式使用自动编号字段。在给定表中没有唯一项的情况下,可以使用它来创建一个唯一条目,通过该条目可以搜索该表并为其建立索引。
该网站提供了一种非常简单的方法来以您希望的任何数字开头您的自动编号:http : //www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp
您创建一个带有表达式的查询,该表达式告诉自动编号字段进行更改
“首先,运行以下查询:
插入tblName(ID)选择999 AS Expr1
其中,tblName是表名,ID是“自动编号”字段的名称。
然后,运行第二个查询以删除您插入的行:
从tblName删除,ID = 999;
(或者,您可以简单地打开表并手动删除插入的行。)
现在,添加到表中的下一条记录被分配值为1000。
此方法适用于新表或自动编号尚未达到种子值的表。(当然,现有行的ID字段不会更改,但后续行将从1000开始。)”
1-创建表1 2-转到创建------->设计查询。3-关闭表格4-从上方转到SQ1。5-过去的代码。
ALTER TABLE [TABLE1] ALTER COLUMN [Id]计数器(8982,1)
这是一个很老的话题,但仍然弹出,成为Google搜索结果的前三名。
用户可能想要更改自动编号字段的值的一个原因是纠正由数据库编辑引起的错误。当管理员可能要对数据库的前端进行一些重大更改时,该管理员可能会制作所有相关表的副本,并将前端的开发副本重定向到这些后端。如果更改足够,他可以用他的副本替换前端的生产副本,并在测试后重定向所有链接的表。
没问题吧?好吧,自动编号的增量保持在前端。因此,如果在管理员处理副本时,生产方仅将自动编号增加了50或500或5000个数字,则新的生产副本将通过重试这些相同的编号而无法在这些字段中输入项目,一次,直到它变得“清晰”。复制50、500或5000行的excel数据,然后尝试将其粘贴。每行都会出错(请确保在弹出时不再显示其他消息),但是自动编号会增加该数量,这很好再去一次。如果您以这种方式使用自动编号,建议您将数字递增到生产数据库所在的位置,然后再用开发副本覆盖它。
这也是一种将自动编号设置为高于1的方法。就像过去在Geocities主页上将页面访问计数器设置为17479时,实际上它只被访问过16次。由你。