2009-06-04 113 views
1

只是好奇的是,當我從519行的電子表格導入一個空數據表的數據時,爲什麼我的自動編號鍵開始於56,557,618?這有多大?我不希望最終用完我的主鍵字段的數字,因爲我甚至沒有開始這個項目,而且我期望能夠定期轉儲電子表格。導入時的MS Access自動編號

回答

1

Access即使在空表上也會記住它發出的最後一個ID。清空表

而且自動編號是一個長整數,它在Access可以達到2,147,483,647

+0

任何空表?這張電子表格轉儲是第一次打表。 – NickSentowski 2009-06-04 21:47:39

+0

你的意思是你每次都丟棄並創建表格?或者你在重複使用該表嗎? – 2009-06-04 21:48:35

3

可以重置自動編號無壓縮和修復使用後重置,你必須緊湊的自動編號/修復數據庫:

CurrentDb.Execute "ALTER TABLE tblTable ALTER COLUMN ID COUNTER(1,1)" 

在運行SQL之前,您必須確保表是空的,否則您將嘗試創建重複的自動編號。

0

您也可以通過創建包含自動編號列的追加查詢來重置自動編號。一旦添加了一行,該數字將被設置爲附加值+1。

這樣做時,您必須小心,該值不小於最高當前值。

例如,

INSERT INTO tblName (id) 
SELECT [tblName]![id]+1 AS [New Value] 
FROM tblName 
GROUP BY [tblName]![id]+1, tblName.id 
HAVING (((tblName.id)=(Select max(id) from tblName))); 

將自動編號重置爲最後一個數字的+2。請注意,您必須包含任何強制性列,然後刪除新行。