2010-06-24 78 views
5

我已經在Access基礎中丟失了我的數據,並且已設法將它們還原,但是當我使用AutoNumber列複製表中的值時,它會增加數字。 是否有任何方法將其更改爲int,然後將其恢復爲AutoNumber?我可以在Access中編輯自動編號列嗎?

回答

1

我已經設法通過c#代碼插入自動編號字段。 我把我需要的所有數據都插入空表中。

0

你是怎麼把數據帶回來的?應該可以附加表格中的數據並保留現有數字。

然而,您需要從整數字段粘貼到自動編號字段。一旦字段中有數據,您就不能將字段更改爲自動編號,但可以從自動編號更改爲整數。

+0

我已經將數據帶回來,將具有相似內容的不同表格合併起來,並將數據轉回該表格。 但是,當我插入記錄的自動編號字段增量自動忽略我的條目。 – Pece 2010-06-25 08:29:20

+0

您正在輸入自動編號的數據嗎? – Fionnuala 2010-06-25 08:45:00

+0

是的,我設法使它成爲自動編號,但坦率地說,我不知道是怎麼回事,因爲我昨天做的都一樣。 只是應對錶中的數據,並進行管理。 – Pece 2010-06-25 13:38:32

5

不要複製數據與用戶界面,但附加一個查詢。由於自動編號字段只是一個具有特殊默認值的長整數,因此您可以在其中添加已存在的值。這在UI中不起作用,但僅在SQL中起作用。

自動編號字段有一些其他屬性與正常的長整型字段不同,但就附加數據而言,這些屬性不相關。其中一個屬性是它一旦被填充就不可編輯,另一個屬性是每個表中只能有一個屬性。

+0

有人請解釋downvote,即爲什麼這是一個錯誤的答案。 – 2010-06-29 22:01:59

+0

「自動編號字段只是一個具有特殊默認值的長整數」=錯報。我可以向表中添加兩個這樣的「特殊默認值」列(只有一列可能具有自動編號屬性)。我可以使用'UPDATE'將默認值更改爲其他值(不能對帶有Autonumber屬性的列執行此操作)。通過在SQL DLL中使用'IDENTITY(,)'創建它,自動編號列的步長值可以不等於1,但不能對列的「特殊默認值」做同樣的操作。我需要繼續......? – onedaywhen 2010-07-06 19:52:50

+0

好的。我改變了它。我的答案*與追加數據的問題有關,但不完整。 – 2010-07-06 22:10:55

7

這是我如何成功地做到這一點在Access 2010:

  1. 讓你的數據庫的備份。 (爲了安全起見)
  2. 右鍵單擊表格列表中的表格,然後選擇Export-> Excel。接受所有默認值。
  3. 在Excel中打開表格並對自動編號字段進行所需的更改。
  4. 打開表並刪除所有行
  5. 右鍵單擊在表列表表,並選擇導入 - > Excel中
    • 在選項中,選擇「附加表」並選擇表。接受默認設置對所有其他選項

這可能不是一個大表一個可行的解決方案。我認爲Excel不能處理大約65K行。

+0

爲我工作。謝謝! – 2015-06-25 19:13:32

0

備份您的數據表。刪除原始表格中的所有數據表格,然後執行緊湊的&修復您的數據庫。通過這樣做,自動編號字段將重置爲1.您現在可以從備份表追加數據。

相關問題