A family of Microsoft relational database management systems designed for ease of use.
That can be pretty tricky. If the subreports are always invoked via the criteria form, then you could use criteria for the date field in their record source query:
Between Forms!thecriteriaform.From And Forms!thecriteriaform.To OR Forms!thecriteriaform.To Is Null
But if the form is not open, you will be prompted the enter values for the parameters.
A different way that is not dependent on the form would be to use the OpenReport method's OpenArgs argument to pass the from and to values to the report:
DoCmdOpenReport "the main report", _
OpenArgs:= Format(From, "#yyyy-m-d#") & "~" & Format(To, "#yyyy-m-d#")
Then add code to each subreport's Open event procedure to set the subreport's Filter property. A subreport's Open event can be tricky because setting most(?) report level properties can only be set one time and not every time the subreport appears in the main report. I think the code could be something like this untested air code:
Dim Args() As Variant
Dim Initialized As Boolean
If Not Initialized And Not IsNull(Parent.OpenArgs)) Then
Args = Split(Parent.Openargs, "~")
Me.Filter = "datefield Between " Args(0) & " And " & Args(1)
Me.FilterOn = True
Initialized = True
End If