在我的报告中,我有两个参数。 一个用于从列表(下拉列表)中选择订单号,另一个用于键入订单号。我们的想法是让最终用户选择订单号或输入订单号,而不是两者都... 有没有办法在选择列表项时清空文本框,反之亦然,即在键入订单号后从下拉列表中选择空值?我想过使用代码,但是一旦"查看报告"就不可能确定使用哪两个参数。按钮已被按下。
非常欢迎任何其他解决此问题的方法。
提前感谢您的回复。
答案 0 :(得分:1)
定义参数
假设第一个允许用户输入订单号的参数称为 typed_value ,第二个允许用户从列表中选择项目的参数称为 list_value
如果在
中输入值,则阻止使用列表将以下内容添加到填充list_value
的查询的where子句中WHERE @typed_value IS NULL
这将阻止在typed_value不为NULL时返回任何记录,阻止客户从订单中选择订单(如果订单已经输入)。
使用typed_value更新list_value
上面的代码只会删除列表项,但要使列表填充类型值,请将此联合添加到填充list_value的查询
UNION SELECT @typed_value WHERE @typed_value IS NOT NULL
如果用户将typed_value留空,则可以从list_value中选择任何值。如果用户键入值,则列表将自动替换为其typed_value。
使用哪个值?
您可以从list_value中关闭报表过滤器并忽略typed_value,因为如果用户在typed_value中输入任何值,则list_value将更新为typed_value。
平滑用户体验
确保参数typed_value允许空值。将typed_value的默认值设置为NULL可能是个好主意,以便用户可以在报告首次加载时查看列表值。
同样将list_value的默认值设置为@typed_value会自动将list_value设置为客户键入的任何值。