繁体   English   中英

如何在主Crystal报表公式中从子报表添加值

[英]How to add Value from subreport in main crystal report formula

以下是我的水晶报表结构(如图所示),我正在使用以下公式获取Fee Total

If{DataTableDoctorInfo.Fee_Unit}="Percent" Then
formula =  ({DataTableDoctorInfo.Fee}/100)*{DataTable1.Number of Patient}
Else 
formula={DataTableDoctorInfo.Fee}*{DataTable1.Number of Patient}* Sum ({DataTableDrmonthlyData.Payable Amount})
End If

现在我也想在我正在从具有该列值的sum的列的subreport添加子总计的子总计中,现在我想在上述公式中使用此总和,如下所示

 formula =  ({DataTableDoctorInfo.Fee}/100)*{DataTable1.Number of Patient}* {that sum value which I am getting in sub report}

DrMonthlySubRepoPatient是我的子报表,如section 3中的图像所示,如何实现此目的? 我在FeeTotal的Main report公式中尝试了此代码

WhilePrintingRecords;
Shared CurrencyVar myTotal;
myTotal :=myTotal;

If{DataTableDoctorInfo.Fee_Unit}="Percent" Then
formula =  ({DataTableDoctorInfo.Fee}/100)*{DataTable1.Number of Patient}* myTotal
Else 
formula={DataTableDoctorInfo.Fee}*{DataTable1.Number of Patient}* Sum ({DataTableDrmonthlyData.Payable Amount})
End If

和此公式在Payble金额字段的子报表中

WhilePrintingRecords;
Shared CurrencyVar myTotal := Sum ({DataTableDrmonthlyData.Payable Amount})

但是出现以下错误,我该如何解决?

`The remaining Text does not appear to be part of the formula `

在此处输入图片说明

您的子报表中的formuala缺少分号:

WhilePrintingRecords;
Shared CurrencyVar myTotal := Sum ({DataTableDrmonthlyData.Payable Amount});

编辑:

看完屏幕截图后,我认为您的报告结构不是很好。 请参阅此帖子的答案,以了解如何构建报告。 另一个非常重要的事情是公式的位置以及使用链接的子报表的可能性。 请阅读这篇文章 ,以获取有关如何在报表和子报表之间传递值的更多信息。 我会将所有内容保留在页面页眉中的黑线上方。 创建一个组1,然后将所有内容放在黑线下方。 基于患者人数分组。 现在,您的子报表需要“高于”您的“费用总额”公式,以便“费用总额”可以访问该值。 子报表中公式的语法应为

WhilePrintingRecords;
Shared CurrencyVar myTotal := Sum ({DataTableDrmonthlyData.Payable Amount});

然后在主公式中可以这样声明变量

WhilePrintingRecords;
Shared CurrencyVar myTotal := myTotal;

并在公式的其余部分中使用它。

我认为您的问题在于报告的结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM