全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1804
推到 Plurk!
推到 Facebook!

如何在quick report中轉換欄位值

答題得分者是:Fishman
mingking0947
一般會員


發表:30
回覆:32
積分:12
註冊:2005-07-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-29 14:02:05 IP:61.222.xxx.xxx 未訂閱
請問專家: 簡述: quick report可否像DBGrid一樣將database中的值,例如:性別為"f")轉成"男"(用Canvas.TextOut可以轉)顯示在畫面上. 內容: 我在資料庫中的性別欄是用"f"及"m"代表,顯示在dbgrid中則轉成"男"及"女",但用quickreport預覽列印時卻還是顯示"f"及"m".所以請問quick report可否轉換欄位值呢?或有其他方法呢? 謝謝!
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-29 14:52:58 IP:210.65.xxx.xxx 未訂閱
Hi mingking0947,    在該欄位相對應的 QRDBText 的 OnPrint 事件上加入以下程式碼
procedure TForm1.QRDBText1Print(sender: TObject; var Value: String);
begin
  if value = 'f' then value  := '男'
  else if value = 'm' then value := '女'
  else value := '不男不女';
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
kirk
一般會員


發表:3
回覆:3
積分:1
註冊:2005-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-28 14:06:26 IP:163.17.xxx.xxx 未訂閱
大大你好: 我將的程式改成 procedure TForm1.QRDBText1Print(sender: TObject; var Value: String); begin if value ='' then value=0; end; 無法使用,為什麼?謝謝
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-31 08:04:52 IP:210.65.xxx.xxx 未訂閱
Hi kirk,    1.先確定 Value 的值    2.
procedure TForm1.QRDBText1Print(sender: TObject; var Value: String);
begin
  if value = '' then
    value := 0; // 少了:
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
kirk
一般會員


發表:3
回覆:3
積分:1
註冊:2005-08-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-31 08:15:31 IP:163.17.xxx.xxx 未訂閱
謝謝大大的回應: 我想請教,如果我要判斷QRDBText為空值,希望以0來替代。要如何做。 另外value是意指什麼?
samchiu
一般會員


發表:2
回覆:1
積分:0
註冊:2004-07-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2006-07-12 12:18:19 IP:210.201.xxx.xxx 未訂閱

建議你取得資料的當時, 就先把他query正確, 就不用判斷是不是空値了

比如SQL Server請用 isnull(field, 0) as field

Oracle DB請用nvl(field, 0) as field

Lio
一般會員


發表:0
回覆:1
積分:0
註冊:2005-05-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2006-07-12 14:35:10 IP:210.200.xxx.xxx 未訂閱


===================引 用 文 章===================
謝謝大大的回應:我想請教,如果我要判斷QRDBText為空值,希望以0來替代。要如何做。

QRDBText的屬性上找 Mask 輸入 ***,***,**0 這樣的話就算是空值也會出現0有值得話同時也有3位一撇的效果

系統時間:2024-04-28 14:56:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!