2009年3月10日 星期二

Crystal Report 的民國100年問題

Crystal Report (8、9、11) 的日期物件,若選用「中華民國曆」格式的話,「年」只會出現兩位
使得民國 100 年變成了「00」
可以使用以下的公式來處理 (Crystal 語法)
Trim(CStr(Year(日期) - 1911, '#00')) + '/' + CStr(Month(日期), '00') + '/' + CStr(Day(日期), '00')

2012/03/06 更新:原先的版本沒有考慮到 null 的問題,改成以下這樣
if (aDate >= CDate('1899/12/31')) then
  Trim(CStr(Year(aDate) - 1911, '#00')) + '/' + CStr(Month(aDate), '00') + '/' +  CStr(Day(aDate), '00')
else
  ''

2 則留言:

匿名 提到...

您好,此語法我試了, 在design mode ok, run time會出現 "Error Occurred Reading Records: The value or range you are adding has already existed.", 請問有遇過嗎?

貓老大 提到...

不好意思,沒有遇過這個問題
這條公式我公司的同仁使用上也沒有問題