Date 如何在crystal report中比较两个日期的月份

Date 如何在crystal report中比较两个日期的月份,date,crystal-reports,Date,Crystal Reports,我的crystal报告上有七个日期。我需要将每个日期的月份与报告的日期进行比较run@Datebeg是报告日期的字段。 我在报告中使用公式作为 if month({Date1})=month(cdate({@Datebeg})) and month({Date2})=month(cdate({@Datebeg})) and month({Date3})=month(cdate({@Datebeg})) and month({Date4})=month(cdate({@Datebeg

我的crystal报告上有七个日期。我需要将每个日期的月份与报告的日期进行比较run@Datebeg是报告日期的字段。 我在报告中使用公式作为

    if month({Date1})=month(cdate({@Datebeg})) and 
month({Date2})=month(cdate({@Datebeg})) and 
month({Date3})=month(cdate({@Datebeg})) and 
month({Date4})=month(cdate({@Datebeg})) and 
month({Date5})=month(cdate({@Datebeg})) and 
month({Date6})=month(cdate({@Datebeg})) and
month({Date7})=month(cdate({@Datebeg}))
then (H1+H2+H3+H4+H5+H6+H7) else 1.
每次我得到的输出是1。根本不比较月份。如果我把或改为和,这就得到了所有H1..7的总和。 请帮我比较一下


提前感谢。

继续创建7个公式,并为每个公式设置条件,例如:

@Formula1
month({Date1})=month(cdate({@Datebeg}))
@Formula2
month({Date3})=month(cdate({@Datebeg}))
诸如此类。将这些公式放在报表标题中,然后运行报表。通过这种方式,您可以查看每个条件的行为并对其进行故障排除。这些公式将返回True或False,满足条件时返回True,不满足条件时返回False。
希望有帮助

这不要紧,但是你可以将第2个月->第7个月与第{date1}个月进行比较,而不是将第{@Dagebeg}个月进行比较。尝试删除第7个月,然后删除第6个月,然后删除第5个月,以此类推,直到你得到预期的行为。可能其中一个月的值不同,或者您需要测试空值。您好,我在我的报告中也做了同样的操作,我制作了7个这样的公式,在每个公式中,我先删除第7个,然后删除第6个和第7个,然后删除第7个,第6个,第5个,第5个,第4个,然后删除第7个,第6个,第5个,第4个,第3个,最后删除第7个,第6个,第5个,第5个,第4个,第3个,第二天。报告中的公式没有错误,但实际的比较没有发生。这些公式中有任何一个似乎有效吗?即使是第一次比较?不。每次都是1。我试着比较两个条件:如果month{Date1}=MonthDate{@Datebeg}和month{Date2}=MonthDate{@Datebeg},那么H1+H2或者1,它给了我总和,但当我把Date3加到上面的公式中时,它开始给出1。可能,它不是一次比较两个以上的值,否则我可能会将括号放错。请帮助我如何在此处比较三个或更多的条件。您好,我按照您所说的做了,它与前两个DatesDate1和Date2匹配,然后条件失败,因为存在并且它给出0,它不会转到其他部分,但我想应该是这样。我把其他部分写为: