Crstal Report9之formula |
尚未結案
|
yuchen
一般會員 發表:7 回覆:5 積分:2 註冊:2003-12-20 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi: Sorry,Crystal Report 我沒有用過,所以不知是否可以直接在Crystal Report 中用以下語法
formula={table1.fd1.AsInteger}+{table1.fd2.AsInteger}+{table1.fd3.AsInteger} 或是
formula={isnull(table1.fd1,0)}+{isnull(table1.fd2)}+{isnull(table1.fd3,0)}
因此只好提供以下幾種方法供你參考:
1.Calculated Field OnCalcFields Event Table.FieldByName('Formula').AsInteger := Table.FieldByName('Field1').AsInteger Table.FieldByName('Field2').AsInteger Table.FieldByName('Field2').AsInteger; 2. Select 時即將該欄位做轉換 select isnull(field1,0) as field1, isnull(field2,0) as field2, isnull(field2,0) as field2 ..... from table where ..... 3. Select 時即將該欄位做轉換並計算該 Formula select isnull(field1,0) as field1, isnull(field2,0) as field2, isnull(field2,0) as field2 (isnull(field1,0) isnull(field2,0) isnull(field3,0)) as Formula from table where .....---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
babyfish4
一般會員 發表:2 回覆:40 積分:18 註冊:2003-08-04 發送簡訊給我 |
您好:
我想到的解決方式有二
1.如果您在一開始從資料庫拉欄位時是使用Command方式的話,那就可以直接用SQL語法轉換NULL值成你要的值(不同Database不同語法,請自行參考資料庫的Help)
2.另一個方式
formula=(if IsNull({table1.fd1}) then 0 else {table1.fd1})
+(if IsNull({table1.fd2}) then 0 else {table1.fd2})
+(if IsNull({table1.fd3}) then 0 else {table1.fd3}) 試試看吧
引言: 我想用一個formula將一個table中的一些欄位(float)值相加 但有些欄位(float)可能是空值 當我使用formula fields時,如下 formula={table1.fd1} {table1.fd2} {table1.fd3} 若fd1,fd2,fd3有一為空值時,則formula為空 請問我該如何才能將欄位為空值轉換成0? Thanks!發表人 - babyfish4 於 2004/03/01 11:21:41 |
yuchen
一般會員 發表:7 回覆:5 積分:2 註冊:2003-12-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |