【问题标题】:Crystal reports : record selection greater equals date & time AND less then date & time水晶报告:记录选择大于等于日期和时间,小于日期和时间
【发布时间】:2015-10-14 22:23:08
【问题描述】:

水晶报表记录选择中,如何在日期和时间之间选择记录。

表格有单独的日期和时间字段。

例如:
从 2015 年 7 月 24 日晚上 9:00 开始
迄今为止 2015 年 7 月 25 日上午 9:00

所以我想选择从 7 月 24 日晚上 9:00 开始到 7 月 25 日上午 9:00 的记录

我该怎么做?

【问题讨论】:

  • 你的数据库字段怎么样?日期时间或仅日期
  • 单独的日期字段和单独的时间字段

标签: date crystal-reports crystal-reports-2008 crystal-reports-2010 crystal-reports-8.5


【解决方案1】:

您可以为日期和时间创建一个参数..

【讨论】:

  • 谢谢 Ankur.. 但我有一个单独的日期字段和一个单独的时间字段。那么我该如何在记录选择中做到这一点。 P.S:我是水晶报表的新手
【解决方案2】:

然后

1.创建一个公式以将日期和时间添加为单个字段.. okkk

公式:datetime(Date,Time)

2.创建一个静态参数类型为 DateTime 并在 value 选项中选择 Allow range of value as true..

3.在选择导出中选择您创建的公式和参数..

它会起作用的..

-Ankur

【讨论】:

  • 感谢 Ankur。你能详细说明第三点吗?我没看懂
  • @ankur... 不要发布多个答案,而是编辑您的第一个答案以添加第二个解决方案。
【解决方案3】:

我可以想到 2 个解决方案..

  1. 创建一个组合数据库的日期和时间字段的视图并创建单个列。使用报告中的视图并为该日期时间字段应用记录选择公式,例如

    databaseview.datetime>='24-July-2015 9:00 PM' and databaseview.datetime<'25-July-2015 9:00 AM'

  2. 在记录选择中使用日期作为

    database.date>='24-July-2015' and database.date<'25-July-2015'

现在在每个字段的报告中按时应用条件并显示报告.. 如下所示。

If (database.time>='9:00 PM' and database.time<'9:00 AM')
then yourdisplayfield

【讨论】:

    【解决方案4】:

    我终于做到了。这是如何

    在记录选择中:

    {@EndDate} in {?FromDate} to {?ToDate} and
    {@StartDate} in {?FromDate} to {?ToDate} and
    (if ({@StartDate} in {?FromDate} to {?FromDate}) then CTime({@StartTime}) >= CTime(ToText({?StartTime})) else if ({@EndDate} in {?ToDate} to {?ToDate}) then CTime({@EndTime}) <= CTime(ToText({?EndTime})) else true)
    

    感谢@Ankur 提供帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多