Thanks for the suggestion of using another source table to get a list of valid dates. However, using a separate table of all the calendar days in a year seems contrary to what Crystal is capable of. Crystal is innately able to recognize a valid date for any given year.
I finally cobbled together a "hack" solution that does give me multiple rows of data, one for each day in the date range. And it kinda works, but it's not pretty.
In the Details section I put a function that prints multiple output rows. I right-click on the function name, select "Format Field" and in Common, I checked the box that says "Can grow." And it seems to work.
The function looks like this:
WhilePrintingRecords;
local stringvar dateList := "";
local datetimevar aDate := {StartDate};
while aDate <= {EndDate} do
(
if dateList = ""
then
( dateList := ToText({My_ID}) + " " + ToText({Fname})
+ " " + left(totext(aDate),10) )
else
( dateList := dateList + ChrW(13)+ChrW(10) + ToText({My_ID}) + " "
+ ToText({FName}) + " " + left(ToText(aDate),10) );
aDate := dateadd("d",1,aDate);
);
dateList
Note that "ChrW(13)+ChrW(10)" are the codes for CR and LF, which is how I was able to build a multi-line block.
The problem is that I cannot position the fields within the output by graphical dragging, cannot apply formatting codes, etc. So although it technically "works", I don't consider it the best solution.
So what kind of solution would permit individual formatting of the fields on the lines? Thanks for any help.
.