多个值无效的参数字段

时间:2017-07-27 15:52:01

标签: crystal-reports

设置一个参数字段,其中包含要在SQL查询命令中使用的多个值,当选择了多个值时,它不起作用,但在选择了一个值时可以正常工作。是的,"允许多个值"选项下的标志设置为True。

我想从这里开始:

EMPBNFIT.BENEFITPLAN in ('CONSUMER CHOICE','HMO', 'HS HMO','HS NETWORK CHOICE','HS PPO BASIC NH RPN','HS PPO PLUS NH RPN','MFS CONSUMER CHOICE','NETWORK CHOICE','PPO BASIC NH RPN','PPO PLUS NH RPN','WAIVE MEDICAL')

到此:

WHERE EMPBNFIT.BENEFITPLAN in ('{?MyPlans}')

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

多么巧合;今天早上有同样的问题。通过将多个参数的数组转换为单个字符串,然后用IN比较替换INSTR部分,我能够在Crystal中解决方法。

使用以下逻辑制作名为ParamFix的公式:

REPLACE(JOIN({?MyPlans}, ","), "&", "; ")

就我而言,不同的值由&分隔,但您可以根据表中的内容替换它。然后将IN比较替换为:

INSTR({@ParamFix}, EMPBNFIT.BENEFITPLAN) > 0