2016-11-24 76 views
0

这个问题并不新鲜,但我一整天都陷入困境。有人张贴前:Crystal Reports: Error on Sum in Formula Field。我有报告说,计算公式推通话收入占总收入:Error in formula revenue: A number,current amount, date, time, or date-time is required here 如何解决这个任何意见将:Crystal report数据源为空时的公式错误

if isnull({table.totalAmount}) and isnull({table.unpaidAmount})then 0 else 
{table.totalAmount}-{table.unpaidAmount} 

,如果数据源不是空的,但如果数据源空,抛出异常工作太好了!

回答

0

水晶是抛出一个异常,更有可能这是因为{} table.totalAmount的数据类型和/或{} table.unpaidAmount是一个字符串,而不是一个号码?

可以将它们转换为数字:

ToNumber({table.totalAmount}) 
ToNumber({table.unpaidAmount}) 

或者你可以运行一个检查,看看是否数据是数字或不:

If IsNumeric({table.totalAmount}) and IsNumeric({table.unpaidAmount}) 
Then {table.totalAmount}-{table.unpaidAmount} 
Else 0 
0

当数据源为空时isnull没有得到任何值,因此错误。尝试这样的:

if ({table.totalAmount}="" and {table.unpaidAmount}="") 
then 0 
else 
{table.totalAmount}-{table.unpaidAmount} 
相关问题