2011-08-11 28 views
0

我有一点挑战。我有我宣布了一个名为系参数的报告具有默认值是这样的:如何根据参数选择多个值?

各部门,项目,现场服务,研讨会,保修,海洋,合同,制造。

每个部门都有由我进行分组,然后在部门如 外勤人员有[数据库条目 “JOB - EXT”, “JOB-AFMEXP”, “JOB-LUB/S”, “JOB-NBCMTU”,“JOB -ABB-AS“]

我还启用了”允许多个值“复选框。

在我选择的专家,我有:

{command.Job Posting Group} in 
switch(
    {?Department} = "All Departments",["","JOB - EXT", "JOB-AFMEXP", "JOB-LUB/S", "JOB- NBCMTU","JOB-ABB-AS","JOB-CANPJB", 
       "JOB-INSTAL","JOB-CUMNS", "JOB-W/SHOP", "JOB-WS/GEN","JOB-WTY","JOB-MAR","JOB-S/AGR", "RENTAL"], 
{?Department} = "Project",["JOB-INSTAL"], 
{?Department} = "Field Service", ["JOB - EXT", "JOB-AFMEXP", "JOB-LUB/S", "JOB-NBCMTU","JOB-ABB-AS"], 
{?Department} = "Workshop", ["JOB-CUMNS", "JOB-W/SHOP", "JOB-WS/GEN"], 
{?Department} = "Warranty",["JOB-WTY"], 
{?Department} = "Marine",["JOB-MAR"], 
{?Department} = "Contract",["JOB-S/AGR"], 
{?Department} = "Manufacturing",["JOB-CANPJB"] 
) 

的问题是,当我进行测试(与CR10或网络),我选择多个值,那东西不显示的值多个值。它只适用于我选择一个部门。 我该怎么办?

回答

1

如果{?Department}是一个多值参数,它的值本身就是一个数组。对于多个值,您不能再执行像{?Department} =“Project”这样的检查,因为在这种情况下,{?Department}是非脚本数组。相反,请为您的开关布尔表达式尝试类似"Project" in {?Department}等。

编辑:其实,还有另一个问题:开关将无法正常工作,因为它会停止在第一个真正的表达式。你需要做的是先建立一个所有可能的部门描述符数组,然后做{command.Job Posting Group} in YOUR_DEPARTMENT_ARRAY

+0

好了,但后来我在哪里存储每个部门阵列,因为该部门的名称不存储在数据库中 – Abimbola

0

我辛苦了一段时间b4我想出了这个解决方案(感谢一些朋友和瑞恩谁让我记得开关不会工作):

我首先创建一个名为{?系}参数字段,然后写了一个叫{} @Dept这样的功能:

if {command.Job Posting Group} = "JOB-WTY" then 
    "Warranty" 
else 
if {command.Job Posting Group} = "JOB-MAR" then 
    "Marine" 
else 
if {command.Job Posting Group} in ["JOB-CUMNS", "JOB-W/SHOP", "JOB-WS/GEN"] then 
    "Workshop" 
else//etc. 

我没加的“所有部门”选项到公式。因为我将在选择专家这样做编程:

(
    (
     {?Department} <> "All Departments" and {@Dept} = {?Department} 
    ) or 
     {?Department} = "All Departments" 
) 
相关问题