2014-07-11 32 views
1

Access Table對於新記錄,自動編號值超出序列

CPTY_PK是AutuNumber主鍵。我在兩個表之間使用了左連接,並希望添加不在此表中的記錄。當我運行查詢時,添加了新記錄,但自動編號從613增加到7679。我不知道它是如何跳進數千人的。我認爲這是因爲加入,我想知道任何其他原因或解決方案背後。

SQL查詢,我用:

db.Execute 「INSERT INTO D_Counterparty(CPTY_ENTITY_ID,CPTY_DESC)」 _ & 「SELECT Ctpy_Entity_Id,Ctpy_Entity_Legal_Nm」 _ &「FROM NewCU LEFT JOIN D_Counterparty ON D_Counterparty.CPTY_ENTITY_ID = NewCU.Ctpy_Entity_Id」

+0

我不會過分擔心它,因爲AutoNumber PK只不過是代理鍵,對您的數據沒有任何意義。我假設還有其他領域定義您的數據的唯一性。也就是說,你可能會考慮壓縮你的數據庫,因爲這將重置所有PK字段的種子值。 – scottmcd9999

+0

嗨,你是對的,我有它的字段定義我的數據的唯一性,但我需要更新相應的自動編號字段強制到另一個表。有沒有辦法做到這一點? – Jain

回答

1

在Access 2000及更高版本,自動編號字段可以開始分配極端值,底片,甚至重複...它可能無法保存在一個新記錄n受影響的表格。

- http://allenbrowne.com/ser-40.html

這可能是你的問題,以及傑出的艾倫·布朗將引導您完成補救措施,這涉及到重新播種的自動密鑰值,但也可能提高你的數據庫或應用程序的設計,以防止根本問題。

但是,還要確保Autokey方法沒有從增量更改爲隨機。 (我認爲這可能是不可能的...見http://msgroups.net/microsoft.public.access/autonumber-from-random-to-incremental/40134。)

我不認爲你的查詢是問題,因爲CPTY_PK不在該查詢中。原因可能來自您未在此處顯示的事件,但這看起來像破碎的authonumber問題,我不能想象它是其他任何事情。

+0

我試了Allenbrowne模塊,但它給了我0作爲答案,即沒有chnages作出,甚至自動鍵增量。感謝您的答覆,並讓我知道,如果你有更多的thoghts。到時候我會嘗試做一些改變。這是因爲加入嗎? – Jain

+0

如果您嘗試了我的建議並且仍然存在此問題,則可能需要取消接受此答案! – Smandoli

+0

'這是因爲加入嗎?' - 看我的編輯回答 – Smandoli