【问题标题】:Add default start and end date to crystal report parameter将默认开始和结束日期添加到水晶报表参数
【发布时间】:2018-01-11 17:59:22
【问题描述】:

我有一个水晶报告,其中我有一个名为 range 的日期参数,我想默认 min 和 maxdate 值。因此,在值选项部分下的编辑参数对话框中,有“开始”和“结束”的选项,我想分别是 Mindate 和 maxdate。我要解决的问题是,如果用户没有输入范围的值,我希望所有记录都返回。这甚至可能吗?提前感谢您的任何建议。

我正在运行最新版本的水晶报表

【问题讨论】:

  • 如果您要投反对票,请评论原因。这是一个合法的问题。

标签: crystal-reports


【解决方案1】:

我认为简单的方法是使用 2 个参数而不是一个参数,即一个参数用于开始日期,另一个用于结束日期。

为两者添加默认值None,如果用户不想选择任何值,则要求选择None

现在将您的记录选择公式更改为

if {?start date} = "None" and {?End date} = "None"
then
//Don't pass any date filter
else
//Add date filter as per parameter selection

【讨论】:

  • 这就是我最终要做的。谢谢
【解决方案2】:

一种简单的方法是手动输入最小和最大日期并使参数不是可选的。

更优雅的方法是检查参数是否有值,如果有,则只过滤记录。在您的记录选择公式中添加如下内容:

if hasvalue({?range}) then {yourdatefield} in {?range} else true

如果参数range 有值,则将其用作过滤器。如果它没有值,则该术语将评估为 true,这意味着不会过滤任何记录。

【讨论】:

  • 因此,当您说手动输入最小/最大日期时,这就是我想要做的。水晶中是否有像其他语言(如 Mindate/maxdate)中的关键字。换句话说,我试图在屏幕截图中圈出的字段中输入该语法。
  • @Maxqueue 我所知道的 max/mindate 没有关键字。您必须输入文字值。
  • 这就是我所害怕的。感谢您的调查。
【解决方案3】:

是的,可以将参数设为可选。默认情况下,如果用户不选择任何东西,它将带来所有数据。

【讨论】:

  • 不适用于某个范围。将其设置为可选不起作用。
猜你喜欢
  • 2019-12-10
  • 1970-01-01
  • 2023-03-18
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
相关资源
最近更新 更多