I can think of two possible approaches, depending on the number of records involved.
DueDate is the Delivery Date and
FieldToBeCompleted is any field that would only be filled in after the DueDate has arrived. If the number of records are limited enough that the user can navigate thru them all searching for the "due" records, then this code in the FormCurrent event would do it:
- Private Sub Form_Current()
-
If (Me.DueDate <= Date) And IsNull(Me.FieldToBeCompleted) Then
-
MsgBox ("This record needs to be completed!")
-
End If
-
End Sub
If there are too many records for this method to be feasible, then you'd need to have a separate form that could be opened daily for completing these records.
1) Copy your current form, placing a label in the header and/or changing the background color to distinguish it from the original form so the user won't be confused as to which form they're on.
2) Copy the query the original form was based on and in the Criteria field in the Query Grid for the "DueDate" field place <= Date.
3) Set the Criteria for one of the fields that still needs to be completed to IsNull
4) Go into Form Design View of the new form and change its RecordSource to the new query
5) When this new form is opened only records whose "DueDate" is on or before the current date and whose still to be completed field is Null should show up. The "before" part is necessary in case your user should be sick or have a day off and get behind, so to speak.
Good Luck!