Crystal Report空字段替换为指定数值问题求助
Crystal Report空字段替换为指定数值的正确公式写法
先明确你两个公式的问题:
- 第一个公式:若
{OPCH.myfield}是数字类型,不能和空字符串''做比较,且公式要求返回类型必须统一——你then分支返回数字,else分支如果是字符串类型字段就会触发类型不匹配报错;若字段是字符型,需把123456789转为字符串格式'123456789'。 - 第二个公式:
isnull语法错误,正确写法应为isnull({OPCH.myfield}),同样存在返回类型不统一的问题。
分场景解决:
场景1:{OPCH.myfield}是数字类型
数字型字段不会存储空字符串,只会存在null或0值,公式写法:
if isnull({OPCH.myfield}) or {OPCH.myfield} = 0 then 123456789 else {OPCH.myfield}
场景2:{OPCH.myfield}是字符类型
需同时处理null和空字符串两种情况,且保证返回类型统一为字符串:
if isnull({OPCH.myfield}) or {OPCH.myfield} = '' then '123456789' else {OPCH.myfield}
若不确定字段类型,可右键点击字段选择「编辑字段」查看属性确认类型后,对应调整公式即可。
内容的提问来源于stack exchange,提问作者PFBAR
相关产品推荐
相关产品推荐

