2011-09-07 63 views
1

我想在Crystal報表中將字符串轉換爲datetime,我使用Date(YYYY,MM,DD)和CDate(YYYY,MM,DD),就像tip一樣錯誤:選擇公式的結果必須是布爾值。選擇公式的結果必須是Crystal Report中的布爾型

stringVar dt := {Control_pmt_tlmytvResult.ngaydk}; 
Date (Val (dt[1 to 4]),Val(dt[5 to 6]) ,Val(dt[7 to 8])) 

Control_pmt_tlmytvResult格式化字符串:YYYY-MM-DD HH:MM:SS

回答

3

您正在嘗試一個選擇公式中返回的日期(無論是記錄,組,或保存數據選擇公式)和CR不知道如何處理這種情況。它必須是布爾值,因爲選擇公式實際上告訴報告只包含公式計算結果爲TRUE的數據。

這就好比問:「你想在你的披薩上做什麼?」並得到迴應「12月7日!」 Crystal Reports詢問您要在報告中包含哪些數據(通過選擇公式),並且您正在迴應「12月7日」。如果您希望該日期作爲選擇標準有用,則必須通過布爾語句(如{transactions.date} < dt)使用該日期。現在報告將包含您剛剛計算之前的所有交易。

+2

很好的答案。你可以通過使用一個預期是/否的答案來改進它,比如「你想要一塊披薩嗎?」 – paulmelnikow