新建乙個公式字段:
if (time() = time(23,59,00)) then
totext(,"dd/mm/yyyy")
else
totext(,"dd/mm/yyyy hh:mm tt", "am", "pm")
totext(year(cdate()),'####')+ ' 年' +totext(month(cdate()),'##')+ ' 月' +totext(day(cdate()),'##')+ ' 日' ;
設定物件格式-->顯示字串-->公式-->:totext(cdate(),"yyyy-mm-dd");
水晶報表日期格式轉化
第一種 日期格式:
local datetimevar tdate;
tdate := ;
totext(year(tdate),'####')+ '-' +totext(month(tdate),'##')+ '-' +totext(day(tdate),'##') ;
第二種 日期格式:
datetimevar pdate;
pdate := ;
totext(pdate, "yyyy/mm/dd");
一般我們可以使用公式來實現一些特殊的功能,但是對於一些需要重複處理的情況
可以使用自定義函式來實現
報表自定義函式和儲備庫自定義函式
報表自定義函式只存在於單一報表模板內,不同模板間不可以共用。
儲備庫自定義函式對於單獨的水晶報表和.net自帶的版本是不可用的,這是水晶報表伺服器版本或boe的乙個功能
將函式轉換為儲備庫自定義函式後,該函式將儲存到系統資料庫,從而不同報表可以進行函式共用。
不過對於單一函式功能來說並沒有什麼影響。
現在我結合乙個例項,說一下自定義函式的使用。
有乙個命題是這樣的,將乙個日期型的字段【2008-10-28】,顯示為【二零零八年十月二十八日】
使用自定義日期格式是達不到這種效果的,雖然我們可以通過公式來實現,但是對於多個這種的字段,每次都寫公式還是很麻煩的。
所以這裡選擇用自定義函式實現。
切換到公式編輯器介面,在【報表自定義函式】上點右鍵,新建乙個函式,名稱為mydate。
將語法切換為basic(當然你也可以用crystal語法),然後編寫函式體
具體的函式內容我就不做說明了,這裡我用了兩個函式來是實現此功能。
另乙個函式是chnumber,用來處理mydate中的復用。
函式體如下
'進行日期轉換
function
mydate (date1
asdate
)dim
sy as
string
dimsm
asstring
dimsd
asstring
'分別取出年月日 sy=
totext(
year
(date1),0)
sm=totext(
month
(date1),0)
sd=totext(
day(date1),0)
mydate
=chnumber(sy,"0
") &"
年"&chnumber(sm,"1
") &"
月"&chnumber(sd,"1
") &"
日"end function
's待處理的引數,t引數型別。0為年份,逐個字元替換,1為月份和日期,10進製
function
chnumber ( s
asstring
, t
asstring
)dim
s0 as
string
'先全部替換s0=
replace
(s,","
,"")s0
=replace
(s0,"0
","零
")s0=
replace
(s0,"1
","一
")s0=
replace
(s0,"2
","二
")s0=
replace
(s0,"3
","三
")s0=
replace
(s0,"4
","四
")s0=
replace
(s0,"5
","五
")s0=
replace
(s0,"6
","六
")s0=
replace
(s0,"7
","七
")s0=
replace
(s0,"8
","八
")s0=
replace
(s0,"9
","九
")'進行月日的十進位處理ift
="1"
then
'十進位處理,在兩個數字中間加入乙個「十」字
iflen
(s0)=2
thens0=
left
(s0,1)
&"十"
&right
(s0,1)
'處理剛好為10、20、30的情況
ifleft
(s0,1)
="一"
thens0=
replace
(s0,"一十
","十
")ifright
(s0,1)
="零"
thens0=
replace
(s0,"零
","")
endif
endif
chnumber =s0
end function
然後我們來做個簡單的測試:
新建立乙個日期型的引數xx,
然後做乙個公式yy,公式內容為:mydate()
顯示為:二零零八年十月二十八日
水晶報表基礎入門 3 水晶報表外觀設計技術
6.1.2水晶報表外觀設計技術 crystal reports提供了非常靈活的機制來自定義報表中物件的外觀,比如資料庫字段 文字物件公式。通過使用為這些物件準備的各種格式選項,開發人員可以改變報表的外觀的各個方面,比如字型 大小 顏色 對齊方式及其他。crystal reports提供 格式化編輯器...
水晶報表小例用於學習
首先這不是一編很高深的文章,意義在於學習。crystal reports 自 1993 年開始就已經是 visual studio 的一部分,並且現在已經成為了 visual studio 2005 中的標準報表建立工具。每套 visual studio 2005 都附帶了該工具,並且它直接整合到開...
水晶報表之自定義函式
在水晶報表中可以自定義函式,它語法規則有兩種 一種是basic語法 一種是水晶報表自帶的語法 crystal語法 這兩種語法我都不熟,但專案過程需要用到自定義函式來處理,如處理日期型別資料等。就從網上找了一些示例。水晶報表的自定義函式的定義在公式欄位中,通過右擊 公式字段 新增乙個公式字段,出現乙個...