我的水晶报告中有以下公式,但不起作用。
if({SINGLECASEMULTIPLEASSAY.sSampleName}="P")then
val({SINGLECASEMULTIPLEASSAY.sODValue})
虽然表SINGLECASEMULTIPLEASSAY具有正确的值,但公式字段的输出始终为0.00。我还验证了SINGLECASEMULTIPLEASSAY表有有效数据。
答案 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})