这是我的公式:
if Maximum({@tx plan date}, {CDCLIENT.SORT_NAME})=Date (1999-01-01) then
currentdate-Maximum ({CDASSFRM.DATE_EFFECTIVE}, {CDCLIENT.SORT_NAME})
else
Maximum ({@tx plan date}, {CDCLIENT.SORT_NAME})-Maximum ({CDASSFRM.DATE_EFFECTIVE}, {CDCLIENT.SORT_NAME})
以上公式现在在字段=Date(1999-01-01)
部分获取字符串是必需的错误。我似乎无法确定需要什么
答案 0 :(得分:0)
要在Crystal报表中声明日期,您可以使用哈希:
Date (#1999-01-01#)
修改强>
当您尝试与之比较时,您需要将字符串转换为日期或反之亦然(可能需要测试并使用日期格式):
if Maximum({@tx plan date}, {CDCLIENT.SORT_NAME})= "1999-01-01" then ToText(currentdate-Maximum ({CDASSFRM.DATE_EFFECTIVE}, {CDCLIENT.SORT_NAME}),"yyyy-MM-dd") else
Date(Maximum ({@tx plan date}, {CDCLIENT.SORT_NAME}))-Maximum ({CDASSFRM.DATE_EFFECTIVE}, {CDCLIENT.SORT_NAME})
答案 1 :(得分:0)
使用:
if Maximum({@tx plan date}, {CDCLIENT.SORT_NAME})=Date(1999,01,01) then
currentdate-Maximum ({CDASSFRM.DATE_EFFECTIVE}, {CDCLIENT.SORT_NAME})
else
Maximum ({@tx plan date}, {CDCLIENT.SORT_NAME})-Maximum ({CDASSFRM.DATE_EFFECTIVE}, {CDCLIENT.SORT_NAME})
或:
if Maximum({@tx plan date}, {CDCLIENT.SORT_NAME})=DateValue("1999-01-01") then
currentdate-Maximum ({CDASSFRM.DATE_EFFECTIVE}, {CDCLIENT.SORT_NAME})
else
Maximum ({@tx plan date}, {CDCLIENT.SORT_NAME})-Maximum ({CDASSFRM.DATE_EFFECTIVE}, {CDCLIENT.SORT_NAME})