我有一个包含多个参数的报告。用户将通过向其中之一输入值来过滤数据。
所有参数均由查询创建,并具有以下设计(fieldname = @param OR @param IS NULL)
在参数属性窗口中,已将它们更改为允许NULL值。这样做的问题是,报表最初将使用返回的所有数据进行呈现,因为每个参数都将NULL复选框选中为默认值。您可以从那里为一个参数输入一个值,然后报表将根据需要进行过滤。
我希望在不为参数之一提供一个值之前不要呈现报告。我知道我可以对其中一个参数使用默认值,该默认值将不返回任何数据,但这并不理想,因为您仍然可以获取报告的呈现。
是否有一种方法可以运行报表,但是要在将值传递给一个参数之前不呈现?
-编写用于检查参数值的自定义代码
Function GetReportCode(ParamVal AS String) As integer
Return IIf(ParamVal Is Nothing, 1/0, 0)
End Function
-如果您的参数值为NULL,则将返回算术溢出错误
-借助以下专业知识创建新变量。
code.GetReportCode(Parameters!ReportParameter1.Value)
NULL
值,将返回错误。