Crystal报告如果这个或那个那么this2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Crystal报告如果这个或那个那么this2相关的知识,希望对你有一定的参考价值。

所以我有text1,text2和text3。变量可以是text1,text2或text3。它也可以是text1和text3。但如果是text1和text3,那么我希望它说“text1和3”。

If {Table.column} = 'text1' then "text1" else if
{Table.column} = 'text2' then "text2" else if 
{Table.column} = 'text3' then "text3" else if
{Table.column} = ['text1', 'text3'] then "text1 and 3"

我尝试了这个公式与其他几个变种,它不起作用。在前端用户屏幕上,如果变量是text1和text3,它将在报告上生成两条记录。我只想要一条记录说“text1和3”。

答案

这不是这样的,如果你有多种组合的可能性,那么你应该首先检查组合,然后检查个别值,否则控制将不会多个组合,而是一旦单一检查为真,它将得到结果就是你的情况,所以你的逻辑应该是:

If {Table.column} IN ['text1', 'text3'] then "text1 and 3"
Else If //All other multiple combinations then individual values
{Table.column} = 'text1' then "text1" 
else if
{Table.column} = 'text2' then "text2" 
else if 
{Table.column} = 'text3' then "text3" 
另一答案
If {Table.column} = ['text1', 'text3'] then "text1 and 3"
{Table.column} = 'text1' then "text1" else if
{Table.column} = 'text2' then "text2" else if 
{Table.column} = 'text3' then "text3" 

所以使用此代码,如果条件是text3,则显示“text1和3”。

Crystal Reports 2016

另一答案

也试过了

If {Table.column} in ['text1', 'text3'] then "text1 and 3" else
{Table.column} 

以及其他几种组合

以上是关于Crystal报告如果这个或那个那么this2的主要内容,如果未能解决你的问题,请参考以下文章

解决方案:从C#app调用Crystal Report导致“数据库登录失败”或“加载报告失败”

Crystal报告多个“喜欢”的条件

Crystal Report - 从子报告中打印信息

Crystal报告错误2-3天后加载报告失败

Crystal 报告 2010 中的运行时错误

报告(免费||开源)Winforms中Crystal Reports的替代品[关闭]