【问题标题】:Crystal date based record selection; no lower date through Saturday基于水晶日期的记录选择;星期六没有更低的日期
【发布时间】:2018-11-17 03:15:30
【问题描述】:

我想为记录选择设置一个具有默认日期范围的 Crystal 报表。根据公式字段 {@Calc Promise Date},我希望日期范围不低于当前一周的星期六。我是 Crystal 的轻量级最终用户,但遇到了麻烦。

我可以使用:

AllDatesToToday 中的{@Calc Promise Date}

但我正在寻找一种方法,将所有日期都设为当周的星期六。

提前感谢您的帮助。

【问题讨论】:

    标签: crystal-reports date-range


    【解决方案1】:

    感谢 Siva 在类似问题上的帮助,我现在有了这个问题的答案。 创建一个新的“结束日期”公式字段,其中包含:

    if DayOfWeek (DateSerial(Year(currentdate),Month(currentdate),Day(currentdate))) = 1
    then DateSerial(Year(currentdate),Month(currentdate),Day(currentdate)+6)
    else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),Day(currentdate))) = 2
    then DateSerial(Year(currentdate),Month(currentdate),Day(currentdate)+5)
    else if  DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),Day(currentdate))) = 3
    then DateSerial(Year(currentdate),Month(currentdate),Day(currentdate)+4)
    else if  DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),Day(currentdate))) = 4
    then DateSerial(Year(currentdate),Month(currentdate),Day(currentdate)+3)
    else if  DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),Day(currentdate))) = 5
    then DateSerial(Year(currentdate),Month(currentdate),Day(currentdate)+2)
    else if  DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),Day(currentdate))) = 6
    then DateSerial(Year(currentdate),Month(currentdate),Day(currentdate)+1)
    else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),Day(currentdate))) = 7
    then DateSerial(Year(currentdate),Month(currentdate),Day(currentdate)+0)
    

    然后在记录选择中引用该公式。在我的例子中,记录的相关日期范围是一个通过当前日期范围公式字段,因此我的记录选择随后更新为包括以下行:

    {@Through Current Date Range}<{@End Date} 
    

    【讨论】:

    • 其实
    猜你喜欢
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 2019-04-08
    • 2021-02-05
    • 2018-06-12
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多