2017-08-24 81 views
0

使用VS 2015和SSRS版本14.0.608.142SSRS:如何使用自定义函数

我有类似我的报告属性的代码部分的功能下面,我尝试使用它筛选查询过滤掉我的数据集中的值,但它没有返回任何值或给出任何错误。函数内部的值在运行时会被另一个应用程序改变,所以它里面的值只是一个占位符。

Function FilterBy() As String 
    FilterBy = "'REMIT'" 
End Function 

我有函数被用作参数的默认值,参数是在我的数据集的where子句中筛选出必要的值。

因此,内部参数默认值:

=code.FilterBy 

集查询:

SELECT Blah 
FROM dbo.Table 
WHERE ID = @parameter; 

回答

0

所以,我注意到在你的函数,你设置一个变量,但没有返回它。如果您试图在报告属性中设置变量,则不能修改它们。这些东西是静态的。但是,您可以在代码中声明一个变量并使用set并获取它们。

dim FilterBy = "REMIT" Function getFilter() As String return FilterBy End Function Function setFilter(input as String) FilterBy = input End Function

因此你的参数默认值是: =Code.getFilter()

还要注意,我没有添加单引号汇出。当您在查询中传递参数时,不需要向它添加单引号,它将由SSRS添加。除非数据库中的值为'REMIT',否则务必继续。

相关问题