To include date range filter (the ORDER BY isn't really necessary for this procedure) and not create daily records for the job days outside the given range, change code to:
Code:
Sub Daily()
Dim rsData As ADODB.Recordset
Dim rsDataTemp As ADODB.Recordset
Set rsData = New ADODB.Recordset
Set rsDataTemp = New ADODB.Recordset
Dim dteStart As Date, dteEnd As Date, dteDay As Date
dteStart = Me.tbxStart
dteEnd = Me.tbxEnd
CurrentDb.Execute "DELETE FROM DataTemp"
rsData.Open "SELECT * FROM Data WHERE Start_Date_Job BETWEEN #" & dteStart & "# AND #" & dteEnd & _
"# OR End_Date_Job BETWEEN #" & dteStart & "# AND #" & dteEnd & "#;", CurrentProject.Connection, adOpenForwardOnly, adLockPessimistic
rsDataTemp.Open "SELECT * FROM DataTemp;", CurrentProject.Connection, adOpenDynamic, adLockPessimistic
While Not rsData.EOF
dteDay = rsData!Start_Date_Job
While dteDay <= rsData!End_Date_Job
If dteDay >= dteStart And dteDay <= dteEnd Then
rsDataTemp.AddNew
rsDataTemp!JobDate = dteDay
rsDataTemp!WONumber = rsData!WONumber
rsDataTemp!TruckNo = rsData!Truck_No
End If
dteDay = dteDay + 1
Wend
rsData.MoveNext
Wend
rsDataTemp.Update
End Sub