排除大于昨天日期的记录

时间:2015-09-22 18:08:44

标签: crystal-reports

我有一个数字格式的CYYMMDD日期字段。我想摆脱这个世纪,所以我做了Formula Field:

如果{field}<> 0然后{field} -1000000

这给我一个YYMMDD示例150922

的数字格式的日期

我现在想过滤该字段只显示昨天的记录。

我将如何做到这一点?

2 个答案:

答案 0 :(得分:0)

创建两个公式。

第一个将数字(YYMMDD)转换为日期格式。

第二天找出昨天的日期..

@NumberToDate

CDATE(ToNumber(MID(ToText({NumberDate}),1,2)),ToNumber(MID(ToText({NumberDate}),3,2)),ToNumber(MID(ToText({NumberDate}), 5,2)))

@YesterdayDate

currentdate -1

然后在@NumberToDate> = @YdayDate

的日期应用过滤器

答案 1 :(得分:0)

为避免性能问题,请始终尝试将日期字段转换为数据库中的数据类型。所以你将在你的记录选择公式中写下这个

(yourdatefield) = tonumber((yourcentury)&totext(currentdate-1,'yyMMdd'))

将昨天日期转换为YYMMDD格式并将世纪添加到它,然后将其转换为数据库字段数据类型。

希望有所帮助!

相关问题