1. Create (only once) a tally table, i.e. a table with one column and that contains a sequence of numbers:
Const C_SQLTable As String = "CREATE TABLE Tbl_Tally ( [Number] INTEGER NOT NULL CONSTRAINT pk_Tbl_Tally PRIMARY KEY);"
Const C_SQLQuery As String = "SELECT Tbl_Tally.Number " & _
"FROM Tbl_Tally LEFT JOIN Tbl_Samples ON Tbl_Tally.Number = Tbl_Samples.ID " & _
"WHERE Tbl_Samples.ID Is Null;"
Dim qdf As DAO.QueryDef
Dim i As Long
CurrentDb.Execute C_SQLTable, dbFailOnError
For i = 1 To 999
CurrentDb.Execute Replace("INSERT INTO Tbl_Tally ( [Number] ) VALUES ( @V );", "@V", i), dbFailOnError
2. Use this query (with MyTable being the name of your table):
SELECT MyTable.Field1, Tbl_Tally.Number
FROM MyTable, Tbl_Tally
WHERE Tbl_Tally.Number BETWEEN MyTable.LowNum AND MyTable.HighNum