2015-11-24 57 views
0

我想在Crystal Report中打印給定月份的所有日子。這就是我的水晶報表的樣子:在Crystal Report中打印一個月的日子

sample

等等等等等等。

什麼我都做,我創建的日期,當用戶選擇一個月份通過的日期timepicker我的程序將在本月回升的日子插入到表的表。

+0

那你到底想要什麼?在{四月}或天在<> ??你可以添加一個例子嗎? – aMazing

+0

看看這個... http://crystaltricks.com/wordpress/?p=159與此:http://www.crystalreportsbook.com/forum/forum_posts.asp?TID=4395 – aMazing

+0

謝謝你爵士你的回覆...我想要的先生是打印一個月(從參數字段中)的天數(以數字形式)垂直先生... – jogz

回答

0

雖然它可以在SQL水平也嘗試(由@aMazing的建議),如果你想在僅適用於Crystal報表級別做,你可以從下面的基本思想適應與沒有記錄日期完成行。

創建報告設計法設計三個公式字段,即First_DatesMid_DatesLast_Dates並設置其在公式編輯器的值作爲下:

  1. 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; 
    
  2. 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; 
    
  3. 個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; 
    

現在放置在您的報告中對這些公式領域下:

  1. First_Dates報告標題
  2. 詳細
  3. Mid_Datesb
  4. Last_Dates報表頁腳

現在啓用Common選項卡上的Format FieldCan Grow選項爲他們每個人。
啓用細節B科節專家Suppress Blank Section選項。
相應地格式化字段和DayList
對於多個月的報告可以通過月和First_Dates進行分組,Last_Dates公式可分別放置在組頁眉和頁腳。

該解決方案將不會與交叉表格式工作。

相關問題