不在SSRS TextBox中

时间:2013-11-29 08:24:16

标签: reporting-services

如何在TextBox表达式中编写NOT IN

我必须检查一些字段值是否属于某些字符串列表,然后再做一些工作。

示例:

Iif(SomeField.Value NOT IN ('Text1', 'Text2'), DoSomething, nothing)

我编写了这样的代码并在预览报告时遇到错误,错误是:

Overload resolution failed because no accessible 'Iif' accepts this number of type arguments

我该怎么做?

3 个答案:

答案 0 :(得分:1)

尝试接受字符串数组的这小块自定义代码。只需将其粘贴到报告的报告代码部分即可。

Public Shared Function ValueExists(ByVal arr() as string, checkVal as string)    
    Dim i As Long        
        For i = LBound(arr) To UBound(arr)            
            If arr(i) = checkVal Then  

                return true
                Exit Function                    
            End If            
        Next i        
    return false    
End Function

用法包括使用Split函数

将字符串拆分为数组 像这样:

=iif(Code.ValueExists(Split("Your,comma,separated,string,in,here",","),"StringYouWantToFind")
,"Your value exists"
,"your value does not exist")

答案 1 :(得分:0)

您可以简单地编写如下代码:

Iif(SomeField.Value <> 'Text1' AND Field.Value <> 'Text2' , DoSomething, nothing)

答案 2 :(得分:0)

我在一份报告中得到了这个:

=iif(join(Parameters!Parameter1.Value,",") like "*" & Fields!Field1.Value & "*","Color1","Color2")

此指令帮助我确定Tablix中单元格的填充颜色,其中: Parameter1是一个多值参数。 “Join”让我有一个字符串,其中包含来自多值参数的所有选定值,例如。 “值1,值2,值3,值4”

Field1是包含Parameter1过滤的值的字段 如果单元格的值包含在参数选择中,则Color1是颜色 别的Color2

运作良好