Reporting services 用于在ssrs中显示正确错误消息的报告字段

Reporting services 用于在ssrs中显示正确错误消息的报告字段,reporting-services,expression,ssrs-expression,reportparameter,Reporting Services,Expression,Ssrs Expression,Reportparameter,我有一个带有参数Student Name和Student Id的下拉列表。当我选择Student Name时,会出现一个文本框,如下所示,并显示submit按钮: 单击学生ID时,报告参数显示如下: 对于学生姓名和学生Id,我使用数据集StudentDetails。当报告运行时,如果未找到学生姓名的值,则应显示消息“未找到学生姓名”,如果学生Id不正确,则应显示消息“未找到学生Id”。 在报告中,我添加了一个文本框来显示消息,其表达式如下: 当输入不正确的学生姓名时,消息正确显示,但是,对

我有一个带有参数Student Name和Student Id的下拉列表。当我选择Student Name时,会出现一个文本框,如下所示,并显示submit按钮:

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

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

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


感谢您的帮助

您需要像这样嵌套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
将在第一个表达式为true时停止,因此如果要报告两者都为空,则需要向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

我尝试了这两个语句,但只尝试了消息“Student Name not found”对于studentname是可以的,但是单击student id的下一个参数仍然会为不正确的StudentId显示相同的消息您提到的关于参数的注意事项。请编辑您的问题并提供完整的解释。包括相关的样本数据以及您希望看到的内容和位置。如果这有助于解释您希望看到的内容,请模拟图像。谢谢,我已经编辑了这个问题。我希望eror消息根据不正确的学生姓名和学生ID显示。我已经更新了答案,但您没有提供更多信息,在您的参数中,用户看到了什么,它们的值是什么,以及每个等的标签属性。。。
=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"
        )