If you need to make these blocks 1,000 at a time, you can create a table with exactly 1,000 records in it from record ID 1 to 1000. Call this the 1 to 1000 table
Then make a single admin record in a new table where you specify the prefix and the start number start number. So you enter 01-22 and in a separate numeric field enter 3000.
The Record ID of that admin record is Record ID# 1.
Make a relationship to the 1- 1000 table based on a numeric formula field called [Link to admin table] and it will have a formula of 1.
Lookup the start prefix and start number to the records in the 1-1000 table.
Make a formula field to calculate the value of the DDI to be created.
it would be like
[Admin start prefix] & "-" right("0000" & totext([Start number]-1+[Record ID#]),4)
Check that the formula looks correct :)
Next make a table to table saved import to copy the records from the 1-1000 table into your target table. Take note of the ID# in the URL. It will be ID# 10 for the first one you create.
Then make a URL formula button to copy the records across.
var text Import = urlroot() & "db/" & [_DBID_my_ddi_table] & "?act=API_RunImport&ID=10";
var text DisplayAdmin = urlroot() & "db/" & dbid() & "?a=dr&rid=1";
$Import
& "&rdr=" & URLEncode($DisplayAdmin)
I suggest that you make a report link field on the Admin record to show the newly created records.
Let me know how you make out as you work your way though the steps.