This depend on whether the database is a single-user database or a
multi-user database. Either way, the data entry must be limited to Form and
not datasheetView of the Table or Query since there are no events you can
use to run your code to create the "next number"
For single-use database, you can simply use the DMax() function to find the
giher number used and add 1 to get the next number.
For multi-user database, you will need to ensure that 2 more users don't
grab the same number (at the same time). This involves using a 1-Record
storing the next number to be allocated. Just before the user saves the new
Record, your code locks this Table (using Recordset based on this Table) so
that no other users can access it, grabs the number to be allocated for this
user's new Record, updates the Record in the 1-Record Table to the next
number, releases the Recordset (hence unlocks the Table) and then saves the
Record with the number that has been allocated.
Search Google for "Custom Number Sequence". The code to do this has been
posted a number of times in these Access newsgroups.
This won't prevent gaps when users delete existing "Work Request" Records,
though.