我正在创建一个包含 3 个参数 @Name、@StartDate 和 @EndDate 的报告(在报告生成器 3.0 中)——非常简单。
现在报告阅读者希望可以使用第四个参数@Year。理论上,此参数应在选择时设置@StartDate 和@EndDate。
例如,读者在@Year 中选择“2012”,然后@StartDate 和@EndDate 将自动填充“01-01-2012”和“31-12-2012”
这怎么可能?
我正在创建一个包含 3 个参数 @Name、@StartDate 和 @EndDate 的报告(在报告生成器 3.0 中)——非常简单。
现在报告阅读者希望可以使用第四个参数@Year。理论上,此参数应在选择时设置@StartDate 和@EndDate。
例如,读者在@Year 中选择“2012”,然后@StartDate 和@EndDate 将自动填充“01-01-2012”和“31-12-2012”
这怎么可能?
您不能从@Year 参数在SQL 查询中创建两个新变量@Startdate 和@Enddate。所以它会根据你的需要工作。
@Startdate = convert(datetime, @year+'-01-01', 120)
@Etartdate = convert(datetime, @year+'-12-31', 120)
添加到 Pradeeshnarayan 的答案。
实现这一点的唯一方法是您必须添加两个隐藏参数,这些参数决定是否输入年份然后默认为全年,或者如果没有则默认为选定的开始和结束日期。
例如:
@h_Startdate = IIf(@year=Empty, @Startdate, convert(datetime, @year+'-01-01', 120))
@h_Enddate = IIf(@year=Empty, @Enddate, convert(datetime, @year+'-12-31', 120))
好问题。