设置一个参数字段,其中包含要在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}')
答案 0 :(得分:1)
多么巧合;今天早上有同样的问题。通过将多个参数的数组转换为单个字符串,然后用IN
比较替换INSTR
部分,我能够在Crystal中解决方法。
使用以下逻辑制作名为ParamFix
的公式:
REPLACE(JOIN({?MyPlans}, ","), "&", "; ")
就我而言,不同的值由&
分隔,但您可以根据表中的内容替换它。然后将IN
比较替换为:
INSTR({@ParamFix}, EMPBNFIT.BENEFITPLAN) > 0