Crystal reports 在textobject中计算crystal报表中的总和

Crystal reports 在textobject中计算crystal报表中的总和,crystal-reports,Crystal Reports,我想在水晶报表中显示一些记录。为此,我需要计算总和字段。我需要计算sql表中一个字段的和,我需要使用where子句。 在水晶报告的公式部分,我写道 {open}+{{#RTotal1}- {#RTotal0}} 这就产生了错误。open是一个textobject。我在这方面出了什么问题 open Itextobject的值是通过使用 DirectCast(GL2.Section2.ReportObjects("open"), CrystalDecisions.CrystalReports.

我想在水晶报表中显示一些记录。为此,我需要计算总和字段。我需要计算sql表中一个字段的和,我需要使用where子句。 在水晶报告的公式部分,我写道

{open}+{{#RTotal1}- {#RTotal0}}  
这就产生了错误。open是一个textobject。我在这方面出了什么问题

open Itextobject的值是通过使用

DirectCast(GL2.Section2.ReportObjects("open"), CrystalDecisions.CrystalReports.Engine.TextObject).Text = TextBox8.Text

我认为问题在于textobject和fieldobject之间的公式。我哪里出错了,我该怎么办

我假设{open}被用作文本字段而不是数字字段。Crystal reports有一个名为ToNumber的函数,可将数字文本转换为数字

您需要将公式更改为:

ToNumber({open})+{{#RTotal1}- {#RTotal0}} 
就像水晶上的一切;最好是稳妥行事,防止出错;我将使用:

if NumericText({open}) and not isnull({open}) then
   ToNumber({open})+{#RTotal1}- {#RTotal0} // text is numeric - use it.
else
   ({#RTotal1}- {#RTotal0}) // test is not a number, ignore it.