报告上的参数验证

时间:2009-01-14 17:41:23

标签: validation reporting-services report

我是SSRS的新手,所以如果这个问题太简单,我会道歉:

我有一个报告,它接受一个名为“金额”的参数。我想将有效输入限制为货币值> = 0,并在用户输入不正确的值时弹出错误消息。

我不想在我的存储过程中验证输入并抛出异常,因为SSRS向从另一台机器访问报告的用户显示非常通用的“'someTable'查询执行失败”消息,而我的业务不是想要打开“启用远程错误”标志。

如何向报告参数添加输入验证并通知用户输入错误?

是的,我已经用Google搜索了,但运气不好。在此先感谢:)

3 个答案:

答案 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