水晶报表中非数字字段汇总
在公司碰到这样一个问题,将原来的基于VS2003的项目代码移植到VS2005,结果发现原来水晶报表的部分需要改动的地方有很多,其中有个问题最费脑筋。原来的数据集中CountNum明明是数字字段,可转换成ASP.NET 2.0之后,系统偏偏认为它是非数字字段,导致公式字段Total的定义报错,Total原来的定义如下:
if isnull({u_Rpt_UserAcceptTop.CountNum}) then
0
else
Sum ({u_Rpt_UserAcceptTop.CountNum})
运行之后,系统总提示上面的代码需要一个数字字段或货币字段,导致水晶报表显示错误。 解决这个问题, 方法如下:
首先新建一个公式字段NCountNum,将其定义为:
tonumber({u_Rpt_UserAcceptTop.CountNum})
这句话是将CountNum字段转换成数字类型。
然后修改公式字段Total的定义,如下:
if isnull({@NCountNum}) then
0
else
sum({@NCountNum})
这样便解决了水晶报表中的非数字字段汇总问题
评论