If you really have a cogent need to number rows in an unbroken sequence than you should not use an autonumber, but compute the next number yourself with code. You might like to take a look at CustomNumber.zip in my public databases folder at:
https://onedrive.live.com/?cid=44CC60D7FEA42912&id=44CC60D7FEA42912!169
If you have trouble downloading a specific file, clicking on the 'Download' button at the top of the page while no files are selected should download a zip file of all files in the folder, from which you should then be able to unpack the relevant file.
This little demo illustrates how to compute sequential numbers when rows are inserted into a table. It also includes an illustration of how to reuse gaps in a sequence where rows have been deleted.
Another possible scenario is that you wish the sequence to be recalculated if a row is deleted, or if a new row is to be inserted within the sequence between two existing. This is done in the following code, to recalculate a PaymentIndex column, which governs the order in which regular payments are made from an account each month:
Private Sub cmdReindex_Click()
Dim rst As DAO.Recordset
Dim strSQL As String
Dim n As Integer
Me.Dirty = False
strSQL = "SELECT PaymentIndex FROM RegularPayments ORDER BY PaymentIndex"
Set rst = CurrentDb.OpenRecordset(strSQL)
With rst
.MoveLast
n = 1
.MoveFirst
Do While Not .EOF
.Edit
.Fields("PaymentIndex") = n
.Update
n = n + 1
.MoveNext
Loop
End With
Set rst = Nothing
Me.Requery
End Sub
If a row has been deleted, executing the above code will renumber all existing rows following the deleted row, reducing the value by 1 in each case.. If a row is to be inserted, by using a single precision floating point number as the data type of the PaymentIndex column, a row can be given a value with a non-zero fractional element before executing the code. If you want to insert a row between rows 8 and 9 say, you would give the new row a value of 8.5 before recalculating the sequence. The new row would be given a value of 9 and in all following rows the current value would be incremented by 1.