【问题标题】:Report field to display correct error message in ssrs报告字段以在 ssrs 中显示正确的错误消息
【发布时间】:2021-05-20 06:33:15
【问题描述】:

我有一个带有参数学生姓名和学生 ID 的下拉菜单。当我选择学生姓名时,会出现如下文本框并具有提交按钮:

enter image description here

点击学生ID,报告参数显示如下:

enter image description here

对于学生姓名和学生 ID,正在使用数据集 StudentDetails。当报告运行时,如果未找到学生姓名的值,则应显示消息“未找到学生姓名”,如果学生 ID 不正确,应显示消息“未找到学生 ID”。
在报告中,我添加了一个文本框来显示消息,其表达式如下:

enter image description here

=SWITCH(
        First(Fields!StudentName.Value, "StudentDetails")=""," Student Name not found ",
        First(Fields!StudentId.Value, " StudentDetails ")=""," Student Id not found ")

当输入错误的学生姓名时,消息会正确显示,但是,对于错误的学生 ID,仍然会显示相同的消息“未找到学生姓名”

感谢您的帮助

【问题讨论】:

    标签: reporting-services expression ssrs-expression reportparameter


    【解决方案1】:

    您需要像这样嵌套 IIF 语句

    =IIF(
        First(Fields!StudentName.Value, "StudentDetails")="","Student Name not found",
        IIF(
            First(Fields!StudentId.Value, "StudentDetails")="","Student Id not found"
            ,"")) 
    

    或使用通常更易于阅读的 SWITCH 语句。

    =SWITCH(
            First(Fields!StudentName.Value, "StudentDetails")="","Student Name not found",
            First(Fields!StudentId.Value, "StudentDetails")="","Student Id not found"
            )
    

    从 OP 更新后编辑

    SWITCH 将在第一个为真的表达式处停止,因此如果您想报告两者都是空的,那么您需要在 SWITCH 语句中添加另一个表达式

    =SWITCH(
            First(Fields!StudentName.Value, "StudentDetails")="","Student Name not found",
            First(Fields!StudentId.Value, "StudentDetails")="","Student Id not found",
            First(Fields!StudentName.Value, "StudentDetails")="" AND First(Fields!StudentID.Value, "StudentDetails")="","Student Name AND ID not found"
            )
    

    如果这不起作用,则添加文本框来调试每个表达式,例如 StudentID 是数字数据类型,因此您必须调整测试以适应(例如 = Nothing

    【讨论】:

    • 我尝试了这两种说法,但只显示消息“未找到学生姓名”。
    • 学生名没问题,但点击学生ID的下一个参数仍然显示相同的信息,但学生ID不正确
    • 您提到注意参数。请编辑您的问题并提供完整的解释。包括相关的示例数据以及您希望看到的内容和位置。如果这有助于解释您希望看到的内容,请模拟一张图片。
    • 谢谢,我已经编辑了这个问题。我希望根据不正确的学生姓名和学生 ID 显示错误消息
    • 我已经更新了答案,但您并没有真正提供更多信息,在您的参数中,用户看到了什么,它们的价值和标签属性等...
    猜你喜欢
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 1970-01-01
    相关资源
    最近更新 更多