我想在Crystal Report中打印給定月份的所有日子。這就是我的水晶報表的樣子:在Crystal Report中打印一個月的日子
等等等等等等。
什麼我都做,我創建的日期,當用戶選擇一個月份通過的日期timepicker我的程序將在本月回升的日子插入到表的表。
我想在Crystal Report中打印給定月份的所有日子。這就是我的水晶報表的樣子:在Crystal Report中打印一個月的日子
等等等等等等。
什麼我都做,我創建的日期,當用戶選擇一個月份通過的日期timepicker我的程序將在本月回升的日子插入到表的表。
雖然它可以在SQL水平也嘗試(由@aMazing的建議),如果你想在僅適用於Crystal報表級別做,你可以從下面的基本思想適應與沒有記錄日期完成行。
創建報告設計法設計三個公式字段,即First_Dates
,Mid_Dates
,Last_Dates
並設置其在公式編輯器的值作爲下:
First_Dates
WhilePrintingRecords;
numberVar TotalDays := Day ({Sale_Date_Field}) - 1;
numberVar i;
stringVar DayList := "";
for i := 1 to TotalDays step 1 do
DayList := DayList & ToText(i, 0) & " 0.00 0.00" & Chr(13);
DayList;
Mid_Dates
WhilePrintingRecords;
numberVar FromDay := Day({Sale_Date_Field}) + 1;
numberVar To_Day := Day(Next({Sale_Date_Field})) - 1;
numberVar i;
stringVar DayList := "";
for i := FromDay to To_Day step 1 do
DayList := DayList & ToText(i, 0) & " 0.00 0.00" & Chr(13);
DayList;
個Last_Dates
WhilePrintingRecords;
numberVar NextDay := Day ({Sale_Date_Field}) + 1;
numberVar i;
numberVar MonthDays := 30;
if (Month ({Sale_Date_Field}) in [1,3,5,7,8,10,12]) then
MonthDays := 31
else if (Month ({Sale_Date_Field}) in [4,6,9,11]) then
MonthDays := 30
else if (Month ({Sale_Date_Field}) = 2
and Remainder(Year({Sale_Date_Field}), 4) = 0) then
MonthDays := 29
else
MonthDays := 28;
stringVar DayList := "";
for i := NextDay to MonthDays step 1 do
DayList := DayList & ToText(i, 0) & " 0.00 0.00" & Chr(13);
DayList;
現在放置在您的報告中對這些公式領域下:
First_Dates
在報告標題科Mid_Dates
b科Last_Dates
在報表頁腳科現在啓用Common
選項卡上的Format Field
Can Grow
選項爲他們每個人。
啓用細節B科節專家Suppress Blank Section
選項。
相應地格式化字段和DayList
。
對於多個月的報告可以通過月和First_Dates
進行分組,Last_Dates
公式可分別放置在組頁眉和頁腳。
該解決方案將不會與交叉表格式工作。
那你到底想要什麼?在{四月}或天在<> ??你可以添加一個例子嗎? – aMazing
看看這個... http://crystaltricks.com/wordpress/?p=159與此:http://www.crystalreportsbook.com/forum/forum_posts.asp?TID=4395 – aMazing
謝謝你爵士你的回覆...我想要的先生是打印一個月(從參數字段中)的天數(以數字形式)垂直先生... – jogz