在带有Crystal Report Command对象中的参数的语句中

时间:2015-02-26 01:56:24

标签: sql parameters crystal-reports command

我正在尝试修改现有SQL报告的代码。此报告使用命令对象。目前,SQl代码说明如下:

 WHERE **dept.definition_id ={?Measure}**
     AND (({?Period Interval}=2
             AND dept_qd_later.sum_facts_id IS NULL
             AND dept_qd.DENOMINATOR_QUARTER IS NOT NULL)
     OR ({?Period Interval}=3
             AND dept_md_later.sum_facts_id IS NULL 
             AND dept_md.DENOMINATOR_MONTH IS NOT NULL))

 LAST

我想修改"测量参数"接受多个价值观。我更新了命令参数框以接受多个值。我试图在下面的语句中修改SQL:

 WHERE **dept.definition_id in({?Measure})**
     AND (({?Period Interval}=2
             AND dept_qd_later.sum_facts_id IS NULL
             AND dept_qd.DENOMINATOR_QUARTER IS NOT NULL)
     OR ({?Period Interval}=3
             AND dept_md_later.sum_facts_id IS NULL
             AND dept_md.DENOMINATOR_MONTH IS NOT NULL))) 
 LAST

但是,当我尝试插入多个度量ID时,报表不会运行。有人能帮我弄清楚我做错了什么吗?我是水晶新手所以请用简单的语言回答。谢谢!

1 个答案:

答案 0 :(得分:0)

我认为大卫是对的。我尝试了类似于命令对象的东西,它在将逗号分隔列表输入参数提示时起作用。这意味着您不需要设置"允许多个值"参数选项。 如果字段是字符串,则必须使用引号输入值,就好像它们是SQL语句的一部分一样。