SSRS中的日期时间参数

时间:2019-03-18 17:22:07

标签: reporting-services

我有一个报告,要求用户键入开始日期,还允许他们从日历中选择。我想知道是否有可能将日期输入为字符串。现在,我有一个带有日历的文本字段,我希望用户输入date [06302015]而不是[06/30/2015]

我们可以省略破折号,但至今仍保留报告格式吗?

2 个答案:

答案 0 :(得分:2)

可以从如下所示的“参数属性”中更改参数的类型。 这将删除日历,它将只是一个文本框。

enter image description here

答案 1 :(得分:1)

  1. 将参数类型更改为“文本”。
  2. 使用表达式=DateValue(Mid(Parameters!LAST_DATE_EDITED.Value,1,2) & "/" & Mid(Parameters!LAST_DATE_EDITED.Value,3,2) & "/" & Mid(Parameters!LAST_DATE_EDITED.Value,5,4))将第二个“隐藏”参数(作为日期/时间数据类型)添加为LAST_DATE_EDITED作为第二个参数的默认值的输入。 (未经测试,但应该靠近)
  3. 然后在报表中使用第二个参数,而不是LAST_DATE_EDITED。

如果用户输入格式错误的数字字符串,使用文本等,SSRS将引发异常。

IMO,这不是最优雅的解决方案,它需要容易出错的用户输入。不是我要实现的(我希望用户使用内置的DateTime选择器,并训练他们使用有效的分隔符,例如句点,斜杠或破折号,或者仅使用日历控件)。