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

DBcombox連資料庫時, 如何把Item的字串轉換成長度為1的代嗎

答題得分者是:terrychen
kaisheng
一般會員


發表:26
回覆:47
積分:14
註冊:2003-11-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-02 09:56:46 IP:210.64.xxx.xxx 未訂閱
版本, 各位前輩大家好! 我用dbcombox連資料庫, 可是其對應的Field長度為1 , 而dbcombox的Item中, 其Item的字串長度大部分都超過1, 我每次選完之後, 存進資料庫只有存第一個字, 存一個字是正確的, 不過我要存的是代碼, 不是第一個字 請問我可以把使用者每次選item字串的轉換成長度為1代碼, 然後再存入資料庫嗎 新竹的小凱
------
Number One
Fishman
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-02 10:22:32 IP:210.65.xxx.xxx 未訂閱
Hi:    請參考 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=42407http://delphi.ktop.com.tw/topic.php?TOPIC_ID=42418 -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
ying0515
中階會員


發表:90
回覆:168
積分:81
註冊:2003-01-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-02 12:00:29 IP:61.218.xxx.xxx 未訂閱
可在TDBCombox對應的TDataSet.Field裡的onSetText事件處理  
procedure Tform1.cdsMAINno_kindSetText(Sender: TField; const Text: String);
begin
  if (Copy(Text,1,1) = '1') then Sender.AsString = 'A';
end;
 
Delphi follower
------
Delphi
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-02 13:45:07 IP:211.22.xxx.xxx 未訂閱
您好: 一定要DBcomboboxㄇ 建議你使用DBlookupcombobox 他的keyfield就是你要存進資料庫的值
kaisheng
一般會員


發表:26
回覆:47
積分:14
註冊:2003-11-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-04 16:17:20 IP:210.64.xxx.xxx 未訂閱
引言: 您好: 一定要DBcomboboxㄇ 建議你使用DBlookupcombobox 他的keyfield就是你要存進資料庫的值
說真的我還不太會用DBlooupcobobox 可否稍微介紹一下 新竹的小凱
------
Number One
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-04 19:26:27 IP:211.76.xxx.xxx 未訂閱
您好: 首先妳需要再拉一ㄍ查詢元件如ADOQUERY1 select 妳想要秀的欄位(要秀的資料及要存的代碼) DBlookupcombobox的設定主要有3ㄍ地方 1.datasource(原來的查詢元件)、datafield 這是妳要存的那ㄍ欄位 2.listsource(ADOQUERY1)、listfield 這是妳要秀的資料 3.kieldfield 這是妳要存的代碼欄位 這樣不知你是否瞭解,若有問題再發問
kaisheng
一般會員


發表:26
回覆:47
積分:14
註冊:2003-11-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-01-05 09:46:10 IP:210.64.xxx.xxx 未訂閱
引言: 您好: 首先妳需要再拉一ㄍ查詢元件如ADOQUERY1 select 妳想要秀的欄位(要秀的資料及要存的代碼) DBlookupcombobox的設定主要有3ㄍ地方 1.datasource(原來的查詢元件)、datafield 這是妳要存的那ㄍ欄位 2.listsource(ADOQUERY1)、listfield 這是妳要秀的資料 3.kieldfield 這是妳要存的代碼欄位 這樣不知你是否瞭解,若有問題再發問
您好! 您說kieldfield是我要存代碼的欄位, 可是我只有找到keyfield的屬性 若是keyfield其Datasource要設那一個 要和listsource的Datasource一樣嗎? 新竹的小凱
------
Number One
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-01-05 10:31:17 IP:61.221.xxx.xxx 未訂閱
您好: 不好意思打錯了,是keyfield才對 他的datasource跟listsource的Datasource一樣
kaisheng
一般會員


發表:26
回覆:47
積分:14
註冊:2003-11-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-01-05 12:04:24 IP:210.64.xxx.xxx 未訂閱
引言: 您好: 不好意思打錯了,是keyfield才對 他的datasource跟listsource的Datasource一樣
keyfield其Datasource和listsource的Datasource一樣嗎? 我出現"circular datalink"錯誤message 新竹的小凱
------
Number One
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-01-05 13:39:15 IP:211.22.xxx.xxx 未訂閱
您好: 沒錯阿!因為keyfield沒得指定datasource 所以在選定時會發現與listfield是同一ㄍdatasource 方便的話上傳圖片來看看 發表人 - Terrychen 於 2004/01/05 13:59:31 發表人 - Terrychen 於 2004/01/05 14:04:52
kaisheng
一般會員


發表:26
回覆:47
積分:14
註冊:2003-11-17

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-01-05 13:57:51 IP:210.64.xxx.xxx 未訂閱
引言: 您好: 沒錯阿!因為keyfield沒得指定datasource 所以在選定時會發現與listfield是同一ㄍdatasource 方便的話上傳圖片來看看
Sorry! 我搞錯了 DBlookupcombobox中有一個datasource和一個listsource 第兩個要如何設, 是不是不能設同一個datasource? 新竹的小凱
------
Number One
kaisheng
一般會員


發表:26
回覆:47
積分:14
註冊:2003-11-17

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-01-05 18:56:10 IP:210.64.xxx.xxx 未訂閱
引言:
引言: 您好: 沒錯阿!因為keyfield沒得指定datasource 所以在選定時會發現與listfield是同一ㄍdatasource 方便的話上傳圖片來看看
Sorry! 我搞錯了 DBlookupcombobox中有一個datasource和一個listsource 第兩個要如何設, 是不是不能設同一個datasource? 新竹的小凱
這兩個是不能用同一個source的? 我將其修改了一下, 我發現Run起來時其下拉的選項在選的時候有問題 有的選項可以選有可不行 新竹的小凱
------
Number One
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-01-05 19:44:50 IP:211.76.xxx.xxx 未訂閱
您好: 照著我傳給妳的範例那樣不行ㄇ? SORRY我總是沒看清楚你說的就回答你 是的那兩ㄍdatasource and listsourse is different 妳的問題可能像你說的欄位長度不一樣 而妳不能將欄位長度設成一樣ㄇ?
ying0515
中階會員


發表:90
回覆:168
積分:81
註冊:2003-01-04

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-01-05 21:57:15 IP:218.171.xxx.xxx 未訂閱
請問你TDBCombox的Item有關聯到另一資料表嗎?
如果沒有試試這個方法看看,會不會較簡單!
在TDBCombox.item設'1_正常訂單'
                  '2_銷售庫存'
                  '3_客戶所樣'
並在TDBCombox對應的TDataSet.Field裡的onGetText事件處理
procedure Tform1.kindGetText(Sender: TField; var Text: string;       DisplayText: Boolean);
begin
  Text := Sender.AsString;
  if (Sender.Value = '') or
     (Sender.value = null) then Text := ' _無資料';
  if (Sender.value = '1')  then Text := '1_正常訂單';
  if (Sender.value = '2')  then Text := '2_銷售庫存';
  if (Sender.value = '3')  then Text := '3_客戶所樣';
end;    
Delphi follower 發表人 - ying0515 於 2004/01/05 21:59:22
------
Delphi
kaisheng
一般會員


發表:26
回覆:47
積分:14
註冊:2003-11-17

發送簡訊給我
#15 引用回覆 回覆 發表時間:2004-01-07 13:38:27 IP:210.64.xxx.xxx 未訂閱
我用infopower的dblookupcombodlg解決了 Thank for everyone!! 新竹的小凱
------
Number One
系統時間:2024-11-24 14:01:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!