Report Builder 3.0:尝试遍历报表参数列表时出现语法错误
Report Builder 3.0: syntax error when trying to loop through list of report parameters
我正在尝试执行以下操作:
- 提供参数的可用值列表。用户可以 select 多个值或 none.
- 如果selected参数列表中存在某个值,则显示相应的列。如果不是,请隐藏该列。
为此,我编写了一个自定义函数,它接受一个整数,检查该整数是否存在于参数列表中,并将 False/True 输出到 hide/show 列。
参数示例:
Label Value
Pallet 1
Item 2
.
.
.
nth-label n
代码: Report Builder 3.0 说我在第 8 行有语法错误,但我不确定它可能是什么。
dim parm_array() as String
dim col_num as Integer
dim i as Integer
function hide_column (ByVal col_num as Integer) as Boolean
parm_array = Split(Join(Report.Parameters!show.Value,","), ",")
for i in LBound(parm_array) To UBound(parm_array)
if col_num = CInt(parm_array(i)) then
hide_column = 0
exit for
else
hide_column = 1
end if
next
end function
您可以直接在表达式中执行此操作,例如
=Array.IndexOf(Parameters!myParameter.Value, 1) > -1
注意:如果您将参数类型保留为默认文本,则表达式的值必须像这样引用
=Array.IndexOf(Parameters!myParameter.Value, "1") > -1
或者为了可读性,我们可以使用参数标签而不是它的值
=Array.IndexOf(Parameters!myParameter.Label, "Pallet") > -1
如果列可见性与预期相反,您可能需要反转结果(即 <=-1)。
我正在尝试执行以下操作:
- 提供参数的可用值列表。用户可以 select 多个值或 none.
- 如果selected参数列表中存在某个值,则显示相应的列。如果不是,请隐藏该列。
为此,我编写了一个自定义函数,它接受一个整数,检查该整数是否存在于参数列表中,并将 False/True 输出到 hide/show 列。
参数示例:
Label Value
Pallet 1
Item 2
.
.
.
nth-label n
代码: Report Builder 3.0 说我在第 8 行有语法错误,但我不确定它可能是什么。
dim parm_array() as String
dim col_num as Integer
dim i as Integer
function hide_column (ByVal col_num as Integer) as Boolean
parm_array = Split(Join(Report.Parameters!show.Value,","), ",")
for i in LBound(parm_array) To UBound(parm_array)
if col_num = CInt(parm_array(i)) then
hide_column = 0
exit for
else
hide_column = 1
end if
next
end function
您可以直接在表达式中执行此操作,例如
=Array.IndexOf(Parameters!myParameter.Value, 1) > -1
注意:如果您将参数类型保留为默认文本,则表达式的值必须像这样引用
=Array.IndexOf(Parameters!myParameter.Value, "1") > -1
或者为了可读性,我们可以使用参数标签而不是它的值
=Array.IndexOf(Parameters!myParameter.Label, "Pallet") > -1
如果列可见性与预期相反,您可能需要反转结果(即 <=-1)。