2017-07-27 11 views
-1
if {spFMGenerateSubReportB;1.BendNo} > 0 then 

(totext({spFMGenerateSubReportB;1.SheetTotal} * {spFMGenerateSubReportB;1.BendNo}, 0)) 

else 
"" 

この式をCrystalレポートに保存したとき。ここに文字列が必要だと言います。 {; 1.SheetTotal spFMGenerateSubReportB}または{spFMGenerateSubReportB; 1.BendNo}があるが、非数値フィールド は、誰もがそれがCrystalレポートのVarcharを小数点に変換する

答えて

1

私はどちらかを疑うだろう解決する方法を知っています。フィールドのどこかにアルファまたは句読点が含まれている可能性があります。この式は、それが妥当かどうかを確認するのに役立ちます。

if isnumeric({spFMGenerateSubReportB;1.SheetTotal}) and isnumeric({spFMGenerateSubReportB;1.BendNo}) then 
    if tonumber({spFMGenerateSubReportB;1.SheetTotal})>0 then 
     (totext(tonumber({spFMGenerateSubReportB;1.SheetTotal})*tonumber({spFMGenerateSubReportB;1.BendNo}),0)) 
    else "" 
else "NonNumeric" 
関連する問題