【问题标题】:SSRS 2008: Check array is empty in custom codeSSRS 2008:在自定义代码中检查数组为空
【发布时间】:2023-03-08 02:07:01
【问题描述】:

对于 SSRS 来说并不是全新的,但对于自定义代码来说却是全新的。我有一个函数需要用来检查所有参数是否为空或空白。我能够弄清楚如何使用两个字段来执行此操作,但我不确定如何使用其余参数来处理此操作,因为它们是我相信的数组,因为它允许多个值。对此的任何指导将不胜感激。任何可以在未来帮助我的资源(例如书籍或网站)也将是一大优势,因为我获得的几乎所有搜索结果都是针对所有内容,但在自定义代码中处理内容。

Function NoParameters(StartDate as DateTime, EndDate as DateTime) As Boolean
Dim RetValue as Boolean
RetValue = "False"
If(StartDate = Nothing And EndDate = Nothing)
RetValue = "True"
Else
RetValue = "False"
End If
Return RetValue
End Function

为了澄清所有参数都设置为允许为空或空白。这样做是为了让用户必须至少选择一个参数,但也可以选择任何和所有参数。使用动态查询处理 SQL 端的参数。

【问题讨论】:

    标签: vb.net reporting-services ssrs-2008


    【解决方案1】:

    您可以将参数的计数传递给您的函数并检查我猜它是否为零。

    传入Parameters!myParameter.Count

    如果我误解了,请告诉我并说明您当前如何调用自定义代码。

    说了这么多,如果需要参数,你应该还是不能运行报告?

    【讨论】:

    • 参数其实不是必须的。我正在尝试在这里处理一种或多种情况。用户必须选择至少一个参数,但不具体选择任何参数,至少选择其中一个或所有参数。我正在使用动态查询处理 SQL 端的参数。
    • 嗯,好的。那么这个答案应该可以工作。然后.Count(0) 显示从多值参数中选择了多少值。
    • 所以基本上你在我用来运行自定义函数的字段中说我可以传递这样的东西。 =Code.NoParameters(Parameters!StartDate.Value,Parameters!EndDate.Value,Parameters!ClientCode.Count) 然后检查自定义代码如果 Variable < 1 ?
    • 正确。不幸的是,您不能循环遍历代码中的参数集合,因此您需要指定每个参数。您可以将整个集合作为单个参数传入,然后按名称引用每个参数。我猜这可能是一个更干净的个人选择。在此处的 SSRS 文档docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008/… 中有一些关于在自定义代码中使用参数的信息
    • 我应该将传入变量声明为整数吗? Function NoParameters(StartDate as DateTime, EndDate as DateTime, ClientCode as Integer) As Boolean
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多