设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

[分享]自动编号的实现

2002-6-21 04:32| 发布者: admin| 查看: 674| 评论: 4|原作者: waltonw|来自: www.office-cn.net

摘要: 看到许多网友都为自动编号所困绕,现在提供一份资料供大家参考,如下: 更改递增 Autonumber 字段的起始值 对于没有包含记录的新表,可以将 NewValues 属性设置为 Increment 的 Autonumber 字段的起始值的除 1 以 ...
看到许多网友都为自动编号所困绕,现在提供一份资料供大家参考,如下:

更改递增 Autonumber 字段的起始值
对于没有包含记录的新表,可以将 NewValues 属性设置为 Increment 的 Autonumber 字段的起始值的除 1 以外的数值。如果表已经含有记录,也可以使用以下过程将下一个在 Autonumber 字段中指定的值更改为新的数值。

1        创建只有一个字段(Number 字段)的临时表,将此字段的 FieldSize 属性设置为 Long Integer,并且用要更改的表中 AutoNumber 字段的名称为其命名。

操作方法

2        在“数据表”视图中,在临时表的 Number 字段输入比 AutoNumber 字段起始值少 1
的值,例如,如果希望 Number 字段从 100 开始,则在 Number 字段中输入 99。
3        创建并执行追加查询,将临时表追加到要更改 AutoNumber 值的表。

操作方法

注释   如果原有表中含有主关键字,则必须在执行追加查询之前,暂时将主关键字删除。此外,如果原有表包含有 Required 属性设为 Yes 的字段, Indexed 属性设为 Yes (No Duplicates) 的字段,或 ValidationRule 属性设置为防止字段中出现 Null 数据项的字段,则必须暂时使这些设置失效。

4        删除临时表。
5        删除追加查询所添加的记录。
6        如果在步骤三中使属性设置失效,请将这些属性恢复为原有设置。

在余下的表中输入记录时,Microsoft Access 将使 AutoNumber 字段中的值比临时表中输入的数值大 1。

注释   如果要在更改起始 AutoNumber 值后压缩数据库,请首先确保在表中至少添加一条记录;否则,在压缩数据库时,下一条添加的记录的 AutoNumber 值将重新设置为比以前最高值多 1。例如,如果重新设置起始值时表中没有任何记录,则压缩操作将把下条添加记录的 AutoNumber 值设置为 1。如果在重新设置起始值时表中含有记录,且最高数值为 50,则压缩操作将把下条添加记录的 AutoNumber 值设置为 51。
发表评论

最新评论

引用 HG 2002-6-21 17:35
waltonw:好方法。
哪如果建產一個新表,在保存所有數據庫的automunber數,在每次有insert,delete操作發生時都來變更此表所保存的自動編號,是不是更好些。
其實在業界使不使用identity一直是一個極有爭議的話題。
自動列的使用大約分為兩種
1.直線遞增(單主鍵法) 2。組合法(如兩個identity列組合,如一個identity列是一對多關系中的一方的identiy強制鍵,另一個為多方的identity列,每次多方的identity都在一方的強制鍵發生改烴時,重新從基數一開始組合)
引用 sdlhlsd 2002-6-21 23:40
记得论坛内有版主做了个完整的例子,好像在下载区
引用 sdlhlsd 2002-6-21 23:43
这里有一贴,http://www.office-cn.net/bbs/dispbbs.asp?boardID=2&RootID=4145&ID=4145
程序更改自动ID
引用 HG 2002-6-22 01:31
sdlhlsd:您真是太好了,問者無意,聽者有心。
我正在為使用identity而煩惱哪?
您就像是黑暗中的一點燈光,為我指引了新的方向,
在原始的森林里,您的出現使我看到了希望。
也省去了我,在用戶delect列時,而觸發更改identity的想法。
太感謝您和談壇的和各位熱心網友了,多拋几個西經紅柿和爛雞蛋給您們羅.

查看全部评论(4)

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-5 04:43 , Processed in 0.093795 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回顶部