This code is supposed to run through the start date to the end date that the user supplys on the form and then check a condition in one table and populate another table based on that check. The problem is that it is not handling the dates correctly so I think there is something wrong with the way I am handling the for statement and the variable that it uses. Below is the code if anyone has any ideas please post.
Thanks,
David
Private Sub CmdTermOnline_Click()
Dim db As Database
Dim rs As Recordset
Dim rs1 As Recordset
Dim d As Integer
Dim dstart As Integer
Dim rcnt As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset("Calls")
Set rs1 = db.OpenRecordset("TerminalCountTable")
rs.MoveFirst
dstart = DatePart("d", Me.Start_Date)
d = DateDiff("d", Me.Start_Date, Me.End_Date)
For dstart = 1 To (dstart + d)
rcnt = 0
Do Until rs.EOF = True
If (rs!Commissioning = True) And (dstart >= rs![Start Time]) And (dstart <= rs![End Time]) Then
rcnt = rcnt + 1
rs.MoveNext
Else
rs.MoveNext
End If
Loop
rs1.AddNew
rs1!DateOnline = dstart
rs1!CountofTerminals = rcnt
rs1.Update
Next
Thanks,
David
Private Sub CmdTermOnline_Click()
Dim db As Database
Dim rs As Recordset
Dim rs1 As Recordset
Dim d As Integer
Dim dstart As Integer
Dim rcnt As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset("Calls")
Set rs1 = db.OpenRecordset("TerminalCountTable")
rs.MoveFirst
dstart = DatePart("d", Me.Start_Date)
d = DateDiff("d", Me.Start_Date, Me.End_Date)
For dstart = 1 To (dstart + d)
rcnt = 0
Do Until rs.EOF = True
If (rs!Commissioning = True) And (dstart >= rs![Start Time]) And (dstart <= rs![End Time]) Then
rcnt = rcnt + 1
rs.MoveNext
Else
rs.MoveNext
End If
Loop
rs1.AddNew
rs1!DateOnline = dstart
rs1!CountofTerminals = rcnt
rs1.Update
Next