Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Use of Autonumber

General Information

Use of Autonumber

by  mph1  Posted    (Edited  )
(Q) In a table I'm using an Autonumber Field as the primary ID. But if the user creates a new record and closes the form without saving it, the Autonumber field still increases by one. This creates gaps in the continuity of the primary key field. How can I:

(a) stop the Autonumber incrementing itself if the record wasn't created; and
(b) force a renumber of this field to occupy contiguous numbers if I was delete record(s) from the table?

(A) There is no such thing as a record number in Access.

Records just "are" - a table is a big, unsequenced bucket. Indexes and queries provide order to the records in the bucket.

Autonumber is simply a way to create a unique identifier for each record. It should NEVER be treated as a meaningful piece of data.

If you need a meaningful sequencer (like to assign user numbers), you have to create it and manipulate it yourself. You will need to stop using Autonumber, and create a sequence number that you increment yourself and apply to the record when it is saved.

You can also capture the numbers from deleted records and re-use them. If, however, you have the possibility of related records using the number as a foreign key - do not reuse old numbers.

Now, for your db to "work" primary keys do not need to be continuous numbers; they just need to be unique - which is why the Autonumber function works like it does.

//////////////////////////////////////////////////////////////////////////////////////////////////////////////

This was NOT written by myself. The credit goes to Keri Hardwick.
Register to rate this FAQ  : BAD 1 2 3 4 5 6 7 8 9 10 GOOD
Please Note: 1 is Bad, 10 is Good :-)

Part and Inventory Search

Back
Top