我很确定我已采取了正确的步骤,但如果这是一个不同的问题呢?
我有多个参数,似乎它可能正在被重置,但是子报告可能会在所有参数中进行计算,所以即使它正在重置,它也会重新计算所有多个工作单号码。在我的工单号参数中指定。
我有一份Crystal Report 2008报告,其中包含一些子报告,这些报告将其总价值分享回主报告进行操作。
子报告适用于单个记录,但在选择多个记录时不会重置,从而导致它们显示所有记录的总计。
这是一个已知解决方案的问题,但是当我尝试在报告中应用它时,它似乎没有按预期工作。
我很确定这是公式的语法或我放置它们的布局的问题。
问题是Crystal子报告没有专门重置;这是设计的。
要强制重置报告,必须在运行子报告之前在记录级别组中插入公式(即不是报告标题),以便将共享变量设置为零。
人工子报表中的共享变量创建公式(放在子报表页脚中):
WhilePrintingRecords;
Shared CurrencyVar subTotal_LaborCosts;
subTotal_LaborCosts := Sum ({R_PFWR_ESTS_LABBYCODE.TOTALLABORCOSTS});
主报告中的共享变量公式(放在主报告,页脚1a中):
WhilePrintingRecords;
Shared CurrencyVar subTotal_LaborCosts;
subTotal_LaborCosts
共享变量重置公式(放置在主报告,组标题1a中):
WhilePrintingRecords;
Shared CurrencyVar subTotal_LaborCosts;
subTotal_LaborCosts:=0;
谁能看到我哪里出错了?谢谢!
答案 0 :(得分:1)
如果您的计算是标量值,您可能需要考虑使用SQL-Expression field而不是子报表。字段的SQL可以与主查询相关联,可能与分组字段,您的情况相关。
**编辑**
您似乎需要详细信息部分中每行的人工成本摘要,并且您希望在组页脚中有这些摘要。假设这是准确的,请按照以下步骤操作:
创建SQL表达式:
- {%TOTAL_LABOR_COST} ( 选择TOTALLABORCOSTS 来自R_PFWR_ESTS_LABBYCODE - 链接到主报表中的字段,可能是“详细信息”部分中每行更改的字段 - 哪里 - 必要时组 - 通过...分组 )
在“详细信息”部分中放置字段
答案 1 :(得分:0)
我弄清楚问题是什么。
问题不在于公式没有被重置(它是)。
问题在于我将报告字段链接到子报告参数的方式。
我已将主报告的参数与我的子报告的参数相关联。实际上,这会将参数中的每个值传递给子报表,因此每次都会运行所有值。
要解决此问题,我更改了链接到子报表参数的值。
我将它从主报表参数字段(具有多个值)更改为主报表中列出工单号的值(确保它只有一个)。