Office中国论坛/Access中国论坛

标题: 怎么样将" 主键ID " 重置为1呀? [打印本页]

作者: miniscar    时间: 2004-2-10 04:05
标题: 怎么样将" 主键ID " 重置为1呀?
在表中删了一些记录

可是主键 ID 的值都乱了。

怎么将它重新从1 开始?
作者: cg1    时间: 2004-2-10 04:18
.  
如何定义自动编号字段的初始值和步进值?
作者:ec  更新日期:2002-12-30  浏览人次:331



专题地址:http://access911.net/index.asp?board=4&recordid=71FAB01E13DC


问题:


如何定义自动编号字段的初始值和步进值?
如何定义自动增加字段的初始值和步进值?
如何使删除过数据的自动增加字段的开始值重新从1开始?


回答:


通过以下语句,你可以在建表的时候指定其起始值和步进值:
CREATE TABLE tblNewOrder2 (
  OrderId AUTOINCREMENT (1000, 10),
  ItemId LONG, Quantity LONG)


你也可以用下面的语句修改下一个起始值和步进值:
ALTER TABLE tblOrder
  ALTER COLUMN OrderId COUNTER (2000, 50)


要重新开始:
ALTER TABLE tableName
  ALTER COLUMN OrderId COUNTER (1, 1)


在 VBE 界面里面用以下代码:
docmd.runsql "ALTER TABLE tableName ALTER COLUMN OrderId COUNTER (1, 1)"


这里要注意的是自动编号往往被用作标识记录的唯一性,但是 Jet 在用 DDL 语句更改自动编号的同时不会保证修改后的自动编号仍然保持唯一性,因此会出现标识号重复的现象。要避免这一现象最好把自动编号设定为主键、或者不可重复。
Please realize that Jet won't prevent you from altering AutoNumber seed and increment values that produce duplicate values. However, if the AutoNumber column has been designated as the primary key or it contains a unique index, you will be prevented from saving rows with duplicates.
不过这些操作需要 JET 4.0。




access911.net 系列资料 如需转载请注明本站链接


录入:changechange(CSDN) 责任编辑:cg1
作者: cg1    时间: 2004-2-10 04:19
如何运行一段 jet sql 代码
http://access911.net/eg/swf/runsql.swf
作者: hi-wzj    时间: 2004-2-10 04:19
http://www.accessoft.com/Article_Show.asp?ArticleID=25
作者: miniscar    时间: 2004-2-10 04:37
怎么不行呀

ID还是乱的?
作者: cg1    时间: 2004-2-10 04:40
自动编号字段已经生成的是不能更改的。除非你删除字段,然后重新添加就可以了。

这里不是SQLSERVER,无法随时更改定义的
作者: miniscar    时间: 2004-2-10 04:56
明白了

谢谢
作者: hi-wzj    时间: 2004-2-12 05:05
我所提供的方法是,在表中编号乱了不怕,通过查询等,来简单的编排,让其显示正常。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3