我是SSRS的新手,所以如果这个问题太简单,我会道歉:
我有一个报告,它接受一个名为“金额”的参数。我想将有效输入限制为货币值> = 0,并在用户输入不正确的值时弹出错误消息。
我不想在我的存储过程中验证输入并抛出异常,因为SSRS向从另一台机器访问报告的用户显示非常通用的“'someTable'查询执行失败”消息,而我的业务不是想要打开“启用远程错误”标志。
如何向报告参数添加输入验证并通知用户输入错误?
是的,我已经用Google搜索了,但运气不好。在此先感谢:)
答案 0 :(得分:6)
好的,这个怎么样?
SSRS中的所有内容实际上都是报表字段中的SQL查询和表达式。
也许您可以在报告顶部为错误消息添加一个大的红色文本框,并为其指定一个类似'= IIf(参数!Amount.Value< 0,“错误:无效金额”)的表达式, “”)”。
然后转到表格的“隐藏”属性并给它表达“=参数!Amount.Value< 0”
您还可以添加到查询的where子句中并添加“AND @Amount> = 0”,这样就不会在出现错误时从数据库中提取。
答案 1 :(得分:0)
可以在SSRS中创建基于特定列表或查询查询的报表参数,但我认为您不能应用正则表达式或类似的东西。
相反,您可以考虑将报表分成两个面板,一个显示报表,另一个显示错误,然后创建一个包含函数的程序集,在运行之前验证报表的参数。如果验证参数功能成功,则隐藏错误面板并显示报告面板,如果不是,则执行相反的操作。
答案 2 :(得分:0)
我认为您在报告工具本身中无法做很多事情。这非常简陋。
但是,您可以提供ASP.net Web界面或表单,您可以使用该表单以.NET允许的任何格式向用户询问参数值,并使用ReportViewer控件显示报表。这听起来令人生畏,但它实际上非常简单,特别是如果你已经有一个你可以建立的项目。
Microsoft提供tutorials for using the ReportViewer controls。