下面是我的水晶报告结构(如图所示),我使用以下公式获取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
现在我还想在我的公式中添加子总数我在subreport
的列中有sum
列值,现在我想在上面的公式中使用这个总和像这个
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 amount字段
WhilePrintingRecords;
Shared CurrencyVar myTotal := Sum ({DataTableDrmonthlyData.Payable Amount})
但它给出了以下错误,我该如何解决?
`The remaining Text does not appear to be part of the formula `
答案 0 :(得分:1)
子报表中的formuala缺少分号:
WhilePrintingRecords;
Shared CurrencyVar myTotal := Sum ({DataTableDrmonthlyData.Payable Amount});
编辑:
看到屏幕截图后,我认为您的报告结构不是很好。有关如何构建报告,请参阅此post的答案。另一件非常重要的事情是公式的放置,以及使用链接子报表的可能性。有关如何在报表和子报表之间传递值的详细信息,请阅读此post。 我会将所有内容都放在Page Header中的黑线之上。创建一个组1并将所有内容放在黑线下面。以患者人数为基础。现在,您的子报表需要“高于”您的费用总计公式,以便费用总计可以访问该值。 子报表中公式的语法应为
WhilePrintingRecords;
Shared CurrencyVar myTotal := Sum ({DataTableDrmonthlyData.Payable Amount});
然后在您的主公式中,您可以像这样声明变量
WhilePrintingRecords;
Shared CurrencyVar myTotal := myTotal;
并在公式的其余部分使用它。
我认为您的问题是报告的结构。