Locate (Contains) :
Using the Dates file in a report

Occasionally reports need to be printed in date order - with one (or more) records for each day. For example a Daily Hours Report prints a record for each day. However if a record does not exist for a day then that day will be skipped in the report. Also it is difficult (without using the Dates file ) to print Errors amongst the Daily Hours at their correct date position.

Applicable version
2.26 and later

Details

The dates file is simply a file which contains a record for each day. Thus is can be used as a Parent file in a report so that child files can be printed for each day. For example:

Primary File : Dates Loop Through Daily Hours Detail Loop through Errors Detail
and so on. One complication is that you may not want the dates file to be the Primary file for the report. A more likely layout would be:

Primary File : Employee Loop through Dates Loop Through Daily Hours Detail Loop through Errors Detail

However there is no link between the Employee File, and the Dates file. In this case the Dates file is a Parentless file. To make a Parentless file do the following:

  1. Add a Secondary Loop record as normal.
  2. Double click on the value of the Parent Source. This takes you to the Override Parent File screen.
  3. Select None from the list. Although the list is in alphabetical order, None is at the very bottom. Select Ok.
  4. On the new Secondary Loop's Properties screen there is now a Drop down list for you to select the Source Name if you double click it. Select Dates.
  5. Double click on the Order Value field to select the order. As this file is not related to the parent file you have to select the key to use.
  6. You should now see the Range fields. For the Dates file this is typically FromDate and ToDate.

The properties of your Dates Loop should now look as follows:

Updated by Robert de Jager on 25 JUN 2021
Locate (Contains) :