使用公式将 Crystal Reports 中的组名称更改为非数据库值

Change Group Name in Crystal Reports to non-Database Value using Formula

提问人:BiGXERO 提问时间:5/16/2012 更新时间:5/16/2012 访问量:6382

问:

我希望将晶体报表中的组名称更改为不在数据库中的指定文本值。

例如,我有一个“状态”字段,可以是“i”或“a”。我希望这些在组标题中显示为“非活动”或“活动”。我目前在“使用公式作为组名”中的代码是:

stringvar newGroupName;
if (groupname = "I") THEN newGroupName:= "Inactive" ELSE
if (groupname = "A") THEN newGroupName:= "Active" ELSE
newGroupName:= groupName;
newGroupName

但是,这说明我为 groupName 保留字传递的参数太少。

在网上查看过,但没有找到任何使用 groupname 函数定义非数据库名称的内容。任何帮助,非常感谢。

水晶报告

评论


答:

1赞 Lee Tickett 5/16/2012 #1

确保从窗口中选择字段,它们将显示为 {table.field} 等

这里不需要变量,只需执行以下操作:

if {table.field} = 'I' then
 'inactive'
Else if {table.field} = 'a' then
 'active'
Else
 'unknown';

评论

0赞 BiGXERO 5/16/2012
明天将在工作中对此进行测试。如果解决方案这么简单,会非常失望
2赞 craig 5/16/2012
您可能应该在第一行测试空值:If Isnull({table.field}) Then 'missing' Else If ...
1赞 Lee Tickett 5/16/2012
我总是将下拉列表(在 crystal 中设置所有报告/公式的默认值)更改为“NULLS 的默认值”而不是异常。它省去了很多麻烦:)
2赞 bendataclear 5/16/2012 #2

补充一下,我总是在公式列表中添加一个标准公式来计算组名:

if {table.field} = 'I' then
    'inactive'
Else if {table.field} = 'a' then
    'active'
Else
    'unknown'

然后在组专家的组名公式中,我指的是这样的公式{MyGroupName}

这使得编辑名称变得更加容易和快捷,但如果您编辑组字段也不会丢失(如果您有大量代码,则非常有用)。