Crystal reports 用于检查Crystal报表中字符串是否为空的公式

Crystal reports 用于检查Crystal报表中字符串是否为空的公式,crystal-reports,Crystal Reports,我编写了一个公式,根据数据库中字符串字段上运行的逻辑返回字符串。我的一切都正常工作,除了字段为空字符串时无法返回 这就是我需要的: ... else if ({TABLE.FIELD} = "") then "Fixed" ... 但是,此条目在我的报告中显示为空字符串。我试着将字段长度测试为0,并测试StrCmp函数。似乎什么都不管用。谷歌搜索结果表明,与“”或“”进行简单的比较应该可以使逻辑正常工作。我是CR的新手,所以可能我错过了什么。关于如何获得此功能,您有什么想法吗?您可以检

我编写了一个公式,根据数据库中字符串字段上运行的逻辑返回字符串。我的一切都正常工作,除了字段为空字符串时无法返回

这就是我需要的:

...
else if ({TABLE.FIELD} = "") then
    "Fixed"
...

但是,此条目在我的报告中显示为空字符串。我试着将字段长度测试为0,并测试StrCmp函数。似乎什么都不管用。谷歌搜索结果表明,与“”或“”进行简单的比较应该可以使逻辑正常工作。我是CR的新手,所以可能我错过了什么。关于如何获得此功能,您有什么想法吗?

您可以检查IsNull条件

If IsNull({TABLE.FIELD}) or {TABLE.FIELD} = "" then
  // do something
如果为空({TABLE.FIELD1}),则 空“+”,“+{TABLE.FIELD2} 其他的 {TABLE.FIELD1}+','+{TABLE.FIELD2}

在这里,我将NULL作为字符串来显示字符串值NULL,以代替数据字段中的NULL值。
希望您能理解。

在“公式”菜单上选择“空值的默认值”,然后添加所有字段,如下所示:

if {le_gur_bond.gur1}="" or IsNull({le_gur_bond.gur1})   Then
    ""
else 
 "and " + {le_gur_bond.gur2} + " of "+ {le_gur_bond.grr_2_address2}
{@Table.Field1} + {@Table.Field2} + {@Table.Field3} + {@Table.Field4} + {@Table.Field5}

但是,此条目在我的报告中显示为空字符串。
具体显示了什么?您的描述不清楚。正在打印/返回空字符串。所有其他字段都显示正确的字符串(即已修复)。我已经很久没有使用Crystal了,但您确定它实际上是空的且不是空的吗?如果我没记错的话,Crystal在处理空值方面做得很差,必须首先检查它们;第一次测试时,检查字符串是否为null,并显示“Fixed”,看看这是否会清除问题。我确实进行了null检查,但这不是第一条逻辑。把它移到一开始,它就起作用了。回答一下,我就接受。谢谢:)很高兴它成功了!我有很多代表,如果@Andrew的答案有效,请随意接受他的答案,因为他的答案比我的评论更明显。虽然答案应该是显而易见的,但您希望在第一次检查时检查
NULL
,因为Crystal Reports对空值的处理很挑剔。in”//do something“我想设置某些文本,但它总是返回false而不是text@numerah
如果IsNull({Table.Field})=True,那么//做点什么
或者如果您只需要两部分(True或false),您可以尝试IIF函数(expression,TruePart,false part)。。。If-Then还有一个Else组件,如果你只需要一个正确和错误的部分,那么使用它会很复杂。请不要只发布代码答案。继续并添加解释。:-)谢谢,先生,您节省了我的时间,只需选择“空值的默认值”