2012-03-22 251 views
1

我有晶體報告,並在公式編輯器中,基於日期。Crystal Reports公式字段問題

If {?PDATERANGE1} <> "" AND {?PDATERANGE2} <> "" Then 
    ToText(DateValue({?PDATERANGE1}), "MMM d, yyyy") & " - " & ToText(DateValue({?PDATERANGE2}), "MMM d, yyyy") 

我打電話這種從ASP和PDATERANGE1和PDATERANGE2是 「10/10/2001」 和 「10/12/2001」。

我收到以下錯誤。

錯誤的日期格式字符串。詳細信息:文件{B6624BE5-D6DA-469B-A635-9FE86B125492}中的errorKind錯誤.rpt:公式中的錯誤dt_range:'If {?PDATERANGE1} <>「」AND {?PDATERANGE2} <>「」Then'Bad date format string 。詳情:errorKind

有人能告訴我什麼是錯?我不是一名水晶報告開發人員。

+0

不確定,那個日期格式字符串適用於我。 – dotjoe 2012-03-22 19:41:45

+1

@ kalls:您是將數值設置爲「10/10/2001」和「10/12/2001」,還是「10/10/2001」和「10/12/2001」? – 2012-03-23 09:06:14

+1

@MarkBannister我的錢就是這個罪魁禍首。可能想添加爲答案。 – Ryan 2012-03-23 19:37:56

回答

1

如果{?PDATERANGE1}{?PDATERANGE2}值包括雙引號 - 使它們分別是"10/10/2001""10/12/2001" - 然後將這些雙引號需要被移除(這樣他們分別成爲10/10/200110/12/2001)。

+0

謝謝@Mark Ba​​nnister。我硬編碼日期沒有雙引號,它的工作。 – kalls 2012-03-26 14:42:29

0

我認爲這是因爲「」不是有效的日期。參數是否可選,您是否檢查它們是否有值?

在晶體中,你必須使用函數hasvalue({?parameter}),儘管可選參數往往會導致真正的問題,所以我避免他們像瘟疫!

+0

謝謝@ Lee Tickett。 – kalls 2012-03-26 14:42:10