I had a similar situation.
I created a table to hold the number (or next number), when I grab the number, I increment the table.
Public Function GetNextNumber() As Variant
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("MyNumbers")
With rs
rs.MoveFirst
GetNextNumber...