簡體   English   中英

子報表中的Crystal報表共享變量未顯示在主報表的頁眉中

[英]Crystal reports shared variable in sub report not displaying in page header of main report

我有一個子報告部分,其中顯示與訂單相關的詳細信息(訂單項)。 在此子報告中,我創建了一個共享變量以返回權重字段的總和:

WhilePrintingRecords;
Shared numbervar WeightTotal := Sum ({Report.TotalWeight})

在主報告中,我創建了另一個變量來顯示子報告的總重量:

WhilePrintingRecords;
shared numbervar WeightTotal;
WeightTotal;

這對於在報表頁腳或頁面頁腳中顯示總計非常有用。 但是,我需要在頁眉中顯示此數量。

我嘗試使用EvaluateAfter()函數創建另一個報告變量,以嘗試將此數據帶入標頭部分。 那沒用。

我也嘗試按照以下建議按照在主報表中創建全局變量的建議進行操作: Crystal Reports:全局變量運行總計未顯示在標題中

是否可以執行這樣的任務? 基礎數據是由sp生成的(在幾個不同的報告中共享)。 我可以創建一個新的sp來簡單地求和,但是我更願意將其委托給crystal。

問題是,雖然在第二個公式中使用WhilePrintingRecords會強制Crystal在最終評估過程中比平時更晚地評估它,但這也是在評估子報表時。 這意味着將對於子報表處理主報表中的任何公式。 對於您而言,即使使用WhilePrintingRecords關鍵字,也要在詳細信息部分的子報表之前評估標題中的公式。 該圖對於理解不同的通過非常有用: Multi-Pass Reporting Process

您可以嘗試使用SQL表達式為每個詳細信息部分執行簡單的匯總求和。 不了解您的數據源或架構,很難給出一個例子,但這是一般的想法。 只要返回標量,就可以將任何有效的SQL用於數據源。

select sum(weight)
from table
where table.orderID="table"."orderID"

另一種方法是每個訂單使用一個額外的內部分組級別,完全刪除子報表,並使用Crystal的sum()函數或全局變量來獲得每個內部組的權重。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM