2017-10-18 233 views
0

我是Crystal Reports的新手。 我有一個數據庫,其中內存列正在報告KB。 我爲我的IT主管創建了一份報告,他希望該字段以GB的形式報告內存。 我想這個公式(基於書我買了題爲「新手指南的Crystal Reports 2016」)Crystal Reports 2016公式語法

IF {tblDts.Memory} = "" THEN "N/A" ELSE {tblDts.Memory}*0.4256 

我得到的錯誤是

的數字,或者幣量在這裏

要求

它突出顯示了我的ELSE聲明後的{tblDts.Memory}

該數據庫中的字段只有數值(btw - 0.4256是10240的十進制格式,我嘗試了一個除法語句,結果相同,所以我想我嘗試乘法語句)。

我在做什麼錯?

+0

也許我正在錯誤地創建公式?我詳細選擇數據字段並右鍵單擊它,選擇格式字段。然後選擇Common選項卡並單擊顯示字符串右側的x-2圖標。這可能是我的問題嗎? – Szmooz

回答

1

在條件語句中,IFELSE應該返回相同的數據類型,否則會報告這些類型的錯誤。

這裏如果你正在返回字符串和ELSE你正在返回數字因此錯誤。

建議將在IF和你計算的情況下,ELSE

IF {tblDts.Memory} = "" 
THEN 0 
ELSE {tblDts.Memory}*0.4256 

編輯將返回0 ------------------------ --------------------------

if IsNumber({tblDts.Memory}) 
then 
(
ToNumber({tblDts.Memory})*0.4256 
) 
else 
0 
+0

我嘗試了公式,仍然得到'數字或貨幣數量在這裏'相同的錯誤,其中{tblDts.Memory}突出顯示........也許水晶報告是生我的氣....大聲笑 – Szmooz

+0

你可以發佈更改公式 – Siva

+0

Siva,我複製並粘貼了你在上面評論中發佈的公式。我希望我能夠附上我正在查看的屏幕截圖以及彈出的錯誤。 – Szmooz