设定Access数据库自增长字段初始值

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

最近在做论坛数据转换程序。例如表src, 表dest都有一个id自增长字段,(都是access数据库,起始值1 ,步长1)

表src中id,char两字段的值为

1、a

2、b

3、c

6、d

7、e

9、f

这样在将src中的记录插入表dest的时候会有麻烦,使得表dest中记录如下所示

1、a

2、b

3、c

4、d

5、e

6、f

这样造成dest和其它关联表中的数据难以对应 。因此有必要在向表dest中插入记录时 设置其id字段的起始值,然后再进行插入操作

在 http://access911.net/fixhtm/71FAB01E13DC.htm?tt= 发现如下文字:

通过以下语句,你可以在建表的时候指定其起始值和步进值:

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 语句更改自动编号的同时不会保证修改后的自动编号仍然保持唯一性,因此会出现标识号重复的现象。要避免这一现象最好把自动编号设定为主键、或者不可重复。

哈哈 看来我的问题可以解决了 ,虽然是很不起眼的东西 ,但是用到时候没有 就会很抓狂 ^_^

程序虽然简单 但还是决定 明天把代码贴出来

http://www.cnblogs.com/zjneter/archive/2006/12/28/606575.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航