kyo15b
一般會員
發表:15 回覆:7 積分:4 註冊:2005-06-17
發送簡訊給我
|
在QREPORT裡使用QRExpr加總四個來自不同Query的欄位
但是可能會遇到某個欄位會為空值的情形
要怎麼做處理
|
supman
尊榮會員
發表:29 回覆:770 積分:924 註冊:2002-04-22
發送簡訊給我
|
您好:
會遇到空值,就像下面這樣判斷就可以了.
if (Query.FieldByName(Field1).AsString<>'') then
Total:=Total Query.FieldByName(Field1).AsInteger
if (Query.FieldByName(Field2).AsString<>'') then
Total:=Total Query.FieldByName(Field2).AsInteger
....
|
kyo15b
一般會員
發表:15 回覆:7 積分:4 註冊:2005-06-17
發送簡訊給我
|
如果我在Expression裡面輸入
total_sales if(total_sales2='',0,total_sales2)
這樣也能達到同樣的效果嗎? 目的就是要做成nvl(total_sales,0) nvl(total_sales2,0)
不過Expression裡面好像不能使用nvl函數 發表人 - kyo15b 於 2005/06/17 15:49:20
|
kyo15b
一般會員
發表:15 回覆:7 積分:4 註冊:2005-06-17
發送簡訊給我
|
不好意思 我有點走錯方向了!!
我要計算的四個欄位分別由不同的四個SQL產生
因為存在於會有可能發生某個SQL沒有篩選出任何東西的情形
所以有可能會有某個欄位不存在的情形
那要怎麼在Expression裡面讓他們加總起來
像是if(total_sales is not exists,0,total_sales)的方法
不過is no exists好像不能在這邊使用,謝謝!!
|
supman
尊榮會員
發表:29 回覆:770 積分:924 註冊:2002-04-22
發送簡訊給我
|
您好:
您下SQL怎麼會出現欄位不存在的狀況???是欄位不存在還是值不存在,欄位應該不會不存在,如果是有空值應該是不能用QRExpr,請參考下面這篇
http://delphi.ktop.com.tw/topic.php?topic_id=66443
必須要使用像我上面寫的方式去做加總. 發表人 - supman 於 2005/06/17 17:23:30
|
kyo15b
一般會員
發表:15 回覆:7 積分:4 註冊:2005-06-17
發送簡訊給我
|
不好意思 是欄位不存在的問題
因為我是利用兩個SQL來做處理
當SQL1成立才會有Sales1欄位的存在(不成立便不會執行SQL1)
當SQL2成立才會有Sales2欄位的存在
同時成立的話 便要做加總的動作Total=Sales1 Sales2
如果只有一個成立的話便會是Total=Sales1或是Total=Sales2
大概是這樣的情形 ^^"
|