Crystal reports 不包括大于昨天日期的记录

Crystal reports 不包括大于昨天日期的记录,crystal-reports,Crystal Reports,我有一个数字格式的日期字段,是CYYMMDD。我想摆脱世纪,所以我做了公式领域: 如果{field}0,则{field}-1000000 这给了我一个YYMMDD示例150922的数字格式的日期 我现在想过滤字段,只显示昨天的记录 我该怎么做呢?创建两个公式 首先,将numberyMMDD转换为日期格式 我想知道昨天的日期 @编号日期 CDateToNumberMidToText{NumberDate},1,2,ToNumberMidToText{NumberDate},3,2,ToNumber

我有一个数字格式的日期字段,是CYYMMDD。我想摆脱世纪,所以我做了公式领域:

如果{field}0,则{field}-1000000

这给了我一个YYMMDD示例150922的数字格式的日期

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

我该怎么做呢?

创建两个公式

首先,将numberyMMDD转换为日期格式

我想知道昨天的日期

@编号日期

CDateToNumberMidToText{NumberDate},1,2,ToNumberMidToText{NumberDate},3,2,ToNumberMidToText{NumberDate},5,2

@昨天

当前日期-1


然后在@NumberToDate>=@YesterdayDate

的日期应用筛选器,以避免性能问题始终尝试将日期字段转换为数据库中的数据类型。所以你要把它写在你的记录选择公式中

(yourdatefield) = tonumber((yourcentury)&totext(currentdate-1,'yyMMdd'))
将昨日日期转换为YYMMDD格式,并将世纪添加到其中,然后将其转换为数据库字段数据类型


希望有帮助

我不认为减去世纪会有帮助,你需要使用DATEADD函数减去一天,然后你可以将它与世纪的值进行比较。