2016-11-24 4 views
0

Diese Frage ist nicht neu, aber ich bin den ganzen Tag fest. Jemand hat geschrieben vor: Crystal Reports: Error on Sum in Formula Field .i Bericht haben, der Gesamtumsatz in formular Call Einnahmen berechnen:Crystal report Formularfehler, wenn die Datenquelle leer ist

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

es, wenn Datenquelle nicht leer, aber wenn Datenquelle leer es Ausnahme werfen: Error in formula revenue: A number,current amount, date, time, or date-time is required here Irgendwelche Tipps, wie diese lösen würde sei großartig!!

Antwort

0

Kristall eine Ausnahme wirft, mehr als wahrscheinlich ist dies, weil der Datentyp für {table.totalAmount} und/oder {table.unpaidAmount} a String ist eher als eine Zahl?

Sie können sie in Zahlen konvertieren:

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

Alternativ können Sie eine Prüfung durchführen, um zu sehen, ob die Daten numerisch ist oder nicht:

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

Wenn die Datenquelle leer ist isnull erhält keinen Wert daher der Fehler. versuchen wie folgt aus:

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