我有一個INSERT INTO ... SELECT
語句將數據從一個表複製到另一個表。如何重置Access表的自動編號字段? (它不是從1開始)
儘管如此,第二個表中的AutoNumber列值是從第一個表中的最後一個數字開始的。
含義第一個表的計數是2000,那麼,第二個表從2001開始。
使用Access數據庫,如何重置此值?
我有一個INSERT INTO ... SELECT
語句將數據從一個表複製到另一個表。如何重置Access表的自動編號字段? (它不是從1開始)
儘管如此,第二個表中的AutoNumber列值是從第一個表中的最後一個數字開始的。
含義第一個表的計數是2000,那麼,第二個表從2001開始。
使用Access數據庫,如何重置此值?
您可以從ADO執行Access DDL語句來重置自動編號種子值。以下是一個示例立即窗口會話:
strDdl = "ALTER TABLE Dummy ALTER COLUMN ID COUNTER(1, 1);"
CurrentProject.Connection.Execute strDdl
該語句必須從ADO執行。如果您使用DAO(例如CurrentDb.Execute strDdl
)或Access查詢設計器進行嘗試,它將會失敗。該示例成功,因爲CurrentProject.Connection
是一個ADO對象。
這兩個值以下COUNTER
是種子和增量。因此,如果我想要自動編號從1000開始並增加2,我可以使用COUNTER(1000, 2)
如果表中包含數據,則種子值必須大於最大存儲值。如果執行語句時表格是空的,那不會是個問題。
看起來像你唯一的選擇就是將數據移動到一個新表中。以下鏈接提供了有關如何根據您的訪問版本進行操作的一些信息。
注意:如果您與其他表有關係,那麼需要小心,因爲這些表需要重新創建。
我整個信息的這個小TID位跑瞭如何設置一個Microsoft Access自動編號字段的值。
Setting the value of a Microsoft Access AutoNumber Field
Using an Append Query to Set the Initial Value of a Microsoft Access AutoNumber Field:
By using an append query, you can change the starting value of an AutoNumber field in a table
to a number other than 1.
Microsoft Access always numbers AutoNumber fields beginning with the number 1.
If the table has data in it already, the starting value of the autonumber will be higher
than the highest value already in the table. You cannot manually edit an AutoNumber
field or change its starting value.
Overview: Changing Initial Value of an AutoNumber Field
In order to force Microsoft Access to number an AutoNumber field with a number you choose,
follow these general steps below:
For a new table that contains no records, you can change the starting value of an AutoNumber
field that has its NewValues property set to Increment to a number other than 1. For a table
that contains records, you can also use this procedure to change the next value assigned in an
AutoNumber field to a new number.
1. Create a temporary table with just one field, a Number field; set its FieldSize
property to Long Integer and give it the same name as the AutoNumber field in the table
whose value you want to change.
2. In Datasheet view, enter a value in the Number field of the temporary table that is 1
less than the starting value you want for the AutoNumber field. For example, if you want
the AutoNumber field to start at 100, enter 99 in the Number field.
3. Create and run an append query to append the temporary table to the table whose
AutoNumber value you want to change.
Note: If your original table has a primary key, you must temporarily remove the primary key
before running the append query. Also, if your original table contains fields that have the
Required property set to Yes, the Indexed property set to Yes (No Duplicates), or field and/or
record ValidationRule property settings that prevent Null entries in fields, you must
temporarily disable these settings.
4. Delete the temporary table.
5. Delete the record added by the append query.
6. If you had to disable property settings in step 3, return them to their original
settings.
When you enter a record in the remaining table, Microsoft Access uses an AutoNumber field
value 1 greater than the value you entered in the temporary table.
Note: If you want to compact the database after changing the starting AutoNumber value, make
sure to add at least one record to the table first. If you don't, when you compact the database,
the AutoNumber value for the next record added will be reset to 1 more than the highest previous
value. For example, if there were no records in the table when you reset the starting value,
compacting would set the AutoNumber value for the next record added to 1; if there were records
in the table when you reset the starting value and the highest previous value was 50, compacting
would set the AutoNumber value for the next record added to 51.
它爲我找到了。只要按照說明來信。不像我一樣跳過它。我發現了完全按照它說的那樣的艱難方式。如果我正確地閱讀你的問題,我希望它能幫助你。我將自動編號字段重新啓動到4556363,其中有8500條記錄,並且它不會改變任何內容,只是自動編號字段。我希望這不會遲到。 Steven