2016-11-24 50 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}