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

有關DBLookupCombo

答題得分者是:cashxin2002
ccsam
一般會員


發表:6
回覆:8
積分:7
註冊:2003-07-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-20 01:58:12 IP:211.74.xxx.xxx 未訂閱
最近在用DBLookupCombo有發生一個現象 我只填入ListSource,ListField跟KeyField 希望使用者能選取ListField而回傳得到KeyField的值 但是我把ADOTable放在DataModule中的時候 DBLookupCombo會發生無法選取的情況 可是我把ADOTable放到該Form上後 本來不能選的DBLookupCombo又正常可以列出值被選取 這是怎麼回事呢?
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-20 09:32:45 IP:211.75.xxx.xxx 未訂閱
Hi,是因為沒uses 那個DataModule嗎?
ccsam
一般會員


發表:6
回覆:8
積分:7
註冊:2003-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-20 10:38:38 IP:202.39.xxx.xxx 未訂閱
我有uses DataModule 我的ADOConnection,ADOTable放在DM裡 而Datasource跟DBLookupcombo放在Form裡 這樣的話就不能純粹用DBLookupCombo的Listsource嗎?    
引言: Hi,是因為沒uses 那個DataModule嗎?
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-20 11:01:13 IP:63.84.xxx.xxx 未訂閱
您好﹗    小弟覺得您似乎有些誤會DBLookupCombo資料感知元件的使用原則了﹒ 您必須加入兩個資料集元件及對應的DataSource元件﹐才能在其間利用DBLookupCombo元件之DataSource;DataField;ListSource;ListField;KeyFields屬性取得對應的資料﹒各屬性說明如下﹕ DataSource屬性﹕選取對應目前的資料的DataSource元件 DataField屬性﹕選取對應的資料行 ListSource屬性﹕選取某個DataSource元件來連接某個資料表 ListField屬性﹕選取某個資料行來做為選單中選項的來源 KeyField屬性﹕兩個資料表來源的關聯依据    諸如您以上的問題﹐似乎有些混淆DBLookupCombo元件的屬性意義﹐故參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-20 11:41:04 IP:61.66.xxx.xxx 未訂閱
引言: 最近在用DBLookupCombo有發生一個現象 我只填入ListSource,ListField跟KeyField 希望使用者能選取ListField而回傳得到KeyField的值 但是我把ADOTable放在DataModule中的時候 DBLookupCombo會發生無法選取的情況 可是我把ADOTable放到該Form上後 本來不能選的DBLookupCombo又正常可以列出值被選取 這是怎麼回事呢?
除了 cashxin2002 的說明外, 我提供你一個方法可以做到 加一個 DBComboBox 指向你的 ListSource, ListField, 然後在 DBComboBox的 onClick上寫 DBLookupComboBox的Keyfield及source的 指向就可以做到了!
ccsam
一般會員


發表:6
回覆:8
積分:7
註冊:2003-07-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-20 12:13:38 IP:211.21.xxx.xxx 未訂閱
嗯....小弟我知道這是正常的DBLookupCombo使用方法 只不過我的需求是"選取ListField得到KeyValue"而已 也就是說"選取[員工]得到[員工編號]","選取[產品]得到[產品編號]"... 這個Combo不想關聯任何Datasource跟DataField,不想改變任何Table的值 而用一般的Combobox還要寫程式才能達到這樣的目的,不方便 小弟我有試過,其實還蠻好用的 只是不能理解,為什麼Dataset一定要放在Form中 單獨指定ListSource才能夠選取值 各位先進可以試試看,我覺得這是DBLookupCombo的另一個用途吧 就是單純只要"選取ListField得到KeyValue"這樣的需求時    
引言: 您好﹗ 小弟覺得您似乎有些誤會DBLookupCombo資料感知元件的使用原則了﹒ 您必須加入兩個資料集元件及對應的DataSource元件﹐才能在其間利用DBLookupCombo元件之DataSource;DataField;ListSource;ListField;KeyFields屬性取得對應的資料﹒各屬性說明如下﹕ DataSource屬性﹕選取對應目前的資料的DataSource元件 DataField屬性﹕選取對應的資料行 ListSource屬性﹕選取某個DataSource元件來連接某個資料表 ListField屬性﹕選取某個資料行來做為選單中選項的來源 KeyField屬性﹕兩個資料表來源的關聯依据 諸如您以上的問題﹐似乎有些混淆DBLookupCombo元件的屬性意義﹐故參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
Ethan
版主


發表:101
回覆:170
積分:78
註冊:2006-07-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-20 12:48:02 IP:61.218.xxx.xxx 未訂閱
簡單來說: 在DBLookupComBox1裡有 DataSource與ListSource. DataSource是要存到資料庫的,也就是當使用者選擇後會存到資料欄位裡, 而ListSource則是一個"列表",讓user選擇的, 所以當您兩個Source都設定 同一個ADOTable是不行的, 所以您必須要再新增一個ADOTable給ListSource用, 這樣就不會有問題了.
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-20 23:15:45 IP:63.84.xxx.xxx 未訂閱
您好!    小弟測試了一下您所說的這個DBLookupCombo的新作用. 同樣的, 也將ADOConnection和ADOTable元件放在DataModul中, DataSource和DBLookupCombo元件放在Form中, 應該也是可以喔. 會出現無法選取對應的欄位資料值的情況主要有兩個原因, 請檢查一下:    1. ADOTable元件是否Open, 若ADOTable元件為Close, DBLookupCombo就會出現無法選取對應的欄位資料值 2. DBLookupCombo元件除了設定ListSouce和ListField屬性之外, 還需設定KeyField屬性值, 這個屬性值可以使用任何一個欄位名, 但若沒有設定KeyField屬性值, 使其為空白的話, DBLookupCombo也會出現無法選取對應的欄位資料值.    參考看看!    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
系統時間:2024-05-19 11:38:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!