将多个列值连接成一个字符串-Crystal Repot公式

时间:2018-09-09 11:19:57

标签: crystal-reports

假设,我在下面有这条记录(有4个字段)-

.---------.---------.------.---------.
|  Col1   |  Col2   | Col3 |  Col4   |
:---------+---------+------+---------:
| Value A | Value B | null | Value C |
'---------'---------'------'---------'

现在我必须使用水晶报表中的公式将它们组合成一个字符串,像这样-

Value A, Value B and Value C

注意:应以“和”结尾

2 个答案:

答案 0 :(得分:1)

转到您的字段浏览器,右键单击公式,然后单击新公式。

然后可以输入方程式。您的公式应类似于{YourDataSource.Col1}&“,”&{YourDataSource.Col2}&“和”&{YourDataSource.Col4}。点击“保存并关闭”,然后将该公式拖到您的报告中。

我不确定您的备注是什么意思,但我希望这会有所帮助。另外,请查看Concatenate two fields 如果我的回答还不够。

答案 1 :(得分:0)

使用IsNull()函数检测哪些列为空,并跳过它们。例如:

Local StringVar result;
Local StringVar connector := "";

IF Not IsNull({Col4}) Then
(
result := {Col4};
connector := " and "
);

IF Not IsNull({Col3}) Then
(
result := {col3} & connector & result;
IF connector = "" Then connector := " and "  Else connector := ", " 
);

IF Not IsNull({Col2}) Then
(
result := {col2} & connector & result;
IF connector = "" Then connector := " and "  Else connector := ", " 
);

IF Not IsNull({Col1}) Then
(
result := {col1} & connector & result;
);