問題: 如何定義自動編號字段的初始值和步進值?如何定義自動增加字段的初始值和步進值?如何使刪除過數據的自動增加字段的開始值重新從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。
如果不會用查詢或者 JET SQL 去參考以下文章中的動畫http://access911.net/index.asp?board=4&recordid=77FAB11E1ADC如何用查詢設計向導建立一個查詢http://access911.net/eg/swf/createquery.swf如何運行一段 jet sql 代碼http://access911.net/eg/swf/runsql.swf