Crystal reports Crystal Report从Data Flex转换为SQL,现在出现公式错误
这是我的公式:Crystal reports Crystal Report从Data Flex转换为SQL,现在出现公式错误,crystal-reports,crystal-reports-2011,Crystal Reports,Crystal Reports 2011,这是我的公式: 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}, {CD
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)
部分上得到一个字符串is required error。我似乎不知道在Crystal reports中声明日期需要什么,您可以使用哈希:
Date (#1999-01-01#)
编辑
当您试图与字符串进行比较时,您需要将字符串转换为日期,或者反之亦然(可能需要测试和使用日期格式):
使用以下任一选项:
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})
或:
您是否尝试过用撇号(
“
)或引号(“
)来包装1999-01-01
)?是的,响应与字符串相同required@user2528135,您使用的是哪个版本的crystal reports?还有,{@tx plan date}的数据类型
肯定是日期?Crystal Report 2011版。{@tx plan date]是一个字符串field@user2528135,添加了更多细节
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})