我是SSRS的新手,如果这个问题太简单,请多包涵。
我有一个报告,接受一个名为“金额”的参数。我想限制有效输入为货币值>= 0,并在用户输入不当值时弹出错误消息。
我不想在存储过程中验证输入并抛出异常,因为当从另一台机器访问报表的用户时,SSRS会显示一个非常通用的“执行查询失败,某些表”消息,而我们的业务不想启用“启用远程错误”标志。
我该如何为报告参数添加输入验证,并通知用户存在错误的输入?
是的,我已经在谷歌上搜索了一些,但没有什么运气。提前感谢 :)
我是SSRS的新手,如果这个问题太简单,请多包涵。
我有一个报告,接受一个名为“金额”的参数。我想限制有效输入为货币值>= 0,并在用户输入不当值时弹出错误消息。
我不想在存储过程中验证输入并抛出异常,因为当从另一台机器访问报表的用户时,SSRS会显示一个非常通用的“执行查询失败,某些表”消息,而我们的业务不想启用“启用远程错误”标志。
我该如何为报告参数添加输入验证,并通知用户存在错误的输入?
是的,我已经在谷歌上搜索了一些,但没有什么运气。提前感谢 :)
好吧,这个怎么样?
你在SSRS中真正拥有的只有SQL查询和报表字段中的表达式。
也许你可以在报告顶部添加一个大红色文本框来显示错误信息,并给它一个表达式,如=IIf(Parameters!Amount.Value<0,“Error:无效金额”,“”)。 Possible translation: 或许你可以在报告顶部添加一个大红色文本框,用于显示错误消息,然后为它提供一个表达式,例如 =IIf(Parameters!Amount.Value < 0, "错误:无效金额", "")。
然后转到您的表格的“隐藏”属性,给它表达式“= Parameters!Amount.Value < 0”
您还可以在查询中加入 where 子句,并添加“AND @Amount >= 0”,这样当出现错误时,您不会从数据库中获取任何内容。
在 SSRS 中,可以创建基于特定列表或查找查询的报告参数,但我认为您不能应用正则表达式或类似的东西。
相反,您可以考虑将报告分成两个面板,一个显示报告,一个显示错误,然后您创建一个包含一个在运行报告之前验证参数的函数的程序集。如果验证参数函数成功,您将隐藏错误面板并显示报告面板,否则做相反的操作。
我认为在报告工具本身中你所能做的不多。它非常基础。
然而,您可以提供一个ASP.net Web界面或表格,您可以使用它来询问用户以任何.NET允许的格式提供参数值,并使用ReportViewer控件显示报告。听起来令人畏惧,但实际上非常简单,特别是如果您已经有一个可以建立的项目。
Microsoft提供了使用ReportViewer控件的教程。