Crystal报表中的公式不起作用

时间:2011-11-24 17:25:39

标签: crystal-reports

我的水晶报告中有以下公式,但不起作用。

if({SINGLECASEMULTIPLEASSAY.sSampleName}="P")then
val({SINGLECASEMULTIPLEASSAY.sODValue})

虽然表SINGLECASEMULTIPLEASSAY具有正确的值,但公式字段的输出始终为0.00。我还验证了SINGLECASEMULTIPLEASSAY表有有效数据。

2 个答案:

答案 0 :(得分:3)

VAL()函数根据您输入的文本返回数字。

如果您输入的文字没有数字,则返回0.00

如果您插入Val("2234 100th Street"),您将获得结果2234100 - 取自IBM的网页here.

检查字段 {SINGLECASEMULTIPLEASSAY.sODValue} 中的值,看看它们是否包含任何数字;如果他们确实没有任何空格或字母的前缀。

如果您只是想显示 {SINGLECASEMULTIPLEASSAY.sODValue} ,那么您不需要VAL()功能。

答案 1 :(得分:1)

您始终需要首先在Crystal Reports中测试空值:

If Isnull({SINGLECASEMULTIPLEASSAY.sSampleName}) Then
  0
Else If {SINGLECASEMULTIPLEASSAY.sSampleName}="P" Then
  ToNumber({SINGLECASEMULTIPLEASSAY.sODValue})