5

我是 SSRS 的新手,所以如果这个问题太简单了,我深表歉意:

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

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

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

是的,我用谷歌搜索过,但运气不佳。提前致谢 :)

4

3 回答 3

6

好的,这个怎么样?

实际上,您在 SSRS 中拥有的只是报表字段中的 SQL 查询和表达式。

也许您可以在报告顶部为您的错误消息添加一个大的红色文本框,并给它一个表达式,如 '=IIf(Parameters!Amount.Value < 0, "Error: Invalid Amount", "")' .

然后转到表的“隐藏”属性并为其指定表达式“=Parameters!Amount.Value < 0”

您还可以添加到查询的 where 子句中并添加“AND @Amount >= 0”,这样当出现错误时您就不会从数据库中获取。

于 2009-01-14T19:50:53.643 回答
0

可以在 SSRS 中创建基于特定列表或查找查询的报告参数,但我认为您不能应用正则表达式或类似的东西。

相反,您可能会考虑将您的报告分成两个面板,一个显示您的报告,一个显示错误,然后您创建一个程序集,其中包含一个在运行之前验证报告参数的函数。如果验证参数功能成功,则隐藏错误面板并显示报告面板,如果不成功,则执行相反的操作。

于 2009-01-14T17:50:08.613 回答
0

我不认为您可以在报告工具本身中做很多事情。这是相当初级的。

但是,您可以提供一个 ASP.net Web 界面或一个表单,您可以使用它以 .NET 允许的任何格式向用户询问参数值,并使用 ReportViewer 控件来显示报告。这听起来令人生畏,但实际上非常简单,特别是如果您已经有一个可以构建的项目。

Microsoft 提供了使用 ReportViewer 控件的教程

于 2009-01-14T18:57:58.417 回答