【问题标题】:Crystal Report Date formula to make it the end of the month水晶报表日期公式,使其成为月末
【发布时间】:2012-08-06 23:30:21
【问题描述】:

我是 CR 的新手,需要一个公式,可以在日期字段中为我提供月末 a。 如果日期是 628/2012 或 7/12/2012,无论该字段显示该月的哪一天,我都需要将公式设为月末。当然,我们知道并非每个月都在 30 日或 31 日结束,2 月有时会在 29 日或 30 日结束。那么我可以使用什么公式来做到这一点

示例字段名称 {table.end_date}

非常感谢任何帮助。

提前致谢。

【问题讨论】:

    标签: date crystal-reports formula


    【解决方案1】:

    创建一个公式字段来计算月末:

    //{@EndOfMonth}
    // find the first day of the month, add a month to it, then subtract a day
    DateAdd("m", 1, DateTime( Year({table.dateField}), Month({table.dateField}), 1, 0,0,0 )) - 1
    

    创建将生成文本表示的第二个公式:

    //{@TextRepresentation}
    If Isnull({table.end_date}) Then
      Space(8)
    Else
      ToText({@EndOfMonth}, "YYYYMMDD")
    

    【讨论】:

    • 所以我尝试了它,但我尝试添加的公式的其余部分不断出现布尔错误。 if totext({table,end_date}) " " then totext ({table,end_date},"MMddyyyy") else totext (" ") and DateAdd("m", 1, DateTime( Year({table,end_date} ), Month({table,end_date}), 1, 0,0,0 )) – 1 您认为它可能导致错误的原因是什么,或者我在这方面会走错路。再次感谢您的帮助
    • end_dateDATE 字段吗?为什么要尝试将其转换为单个空格?
    • 是的,结束日期是一个 DATE 字段,如果字段中没有日期来保存 8 个空格用于我正在处理报告的文本导出,我会将其转换为 8 个空格字符
    • 我尽量避免将 RPT 导出为 PDF 以外的任何内容。 CSV 和 TTX 应在字段中保留 NULL 值的占位符。你在用什么?
    • 谢谢您的帮助。它导出到 .txt 文件以上传到另一个站点。我正在使用水晶中的导出功能来做到这一点。再次感谢您的帮助。
    猜你喜欢
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多