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

請問如何指定TDBLookupComboBox移到所要的項目呢?

答題得分者是:herbert2
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-11-18 23:28:06 IP:59.125.xxx.xxx 訂閱
請問各位大大要如何指定TDBLookupComboBox移到所要的項目呢?

DBLookupComboBox1的資料來源是ADOTable1,但是當我執行下面的程式碼時,
DBLookupComboBox1卻沒有移到ADOTable1所停留的項目。
請要怎麼做呢?

DataField:無(因為我指是要讀取ADOTable1內Field種類 的值)
DataSource:無
KeyField:種類
ListField:
種類
ListSource:DataSource1 <-ADOTable1

謝謝!謝謝!
[code cpp]
ADOTable1->Locate("種類",Edit1->Text,
[loPartialKey]);
[/code]
------
-謝謝大大熱心的回覆!謝謝!
編輯記錄
l90425 重新編輯於 2008-11-19 00:47:26, 註解 無‧
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-11-18 23:36:16 IP:211.72.xxx.xxx 訂閱
若您 Locate 未找到合條件的資料錄, ADOTable1 仍停在原錄, 其值就沒變.
編輯記錄
herbert2 重新編輯於 2008-11-18 23:40:23, 註解 無‧
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-11-18 23:43:16 IP:59.125.xxx.xxx 訂閱
請問DataSet 在哪裡呢?

謝謝!謝謝!
===================引 用 herbert2 文 章===================
當 DataSet 在 dsEdit/dsInsert 狀態時, 才能改變其值.
------
-謝謝大大熱心的回覆!謝謝!
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-11-18 23:45:56 IP:59.125.xxx.xxx 訂閱
我利用DBGrid1來看ADOTable1
ADOTable1有跳到符合的項目,但是DBLookupComboBox1卻沒有變化

===================引 用 herbert2 文 章===================
若您 Locate 未找到合條件的資料錄, ADOTable1 仍停在原錄, 其值就沒變.
------
-謝謝大大熱心的回覆!謝謝!
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-11-18 23:57:14 IP:211.72.xxx.xxx 訂閱
您的 DataSource, DataField, ListSource, ListField 設對了嗎?

您可用搜尋找 DBLookupComboBox 可查到很多相關文章.
參考下列這篇看能否解答您的問題.
http://delphi.ktop.com.tw/board.php?cid=30&fid=1498&tid=92297
編輯記錄
herbert2 重新編輯於 2008-11-19 00:03:44, 註解 無‧
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-11-19 00:02:10 IP:59.125.xxx.xxx 訂閱
我有設定ListSource, ListField,
但是沒有設定 DataSource, DataField因為這不一定設定才行

===================引 用 herbert2 文 章===================
您的 DataSource, DataField, ListSource, ListField 設對了嗎?
------
-謝謝大大熱心的回覆!謝謝!
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-11-19 00:26:33 IP:59.125.xxx.xxx 訂閱
請問是不是有什麼方法要告訴DBLookupComboBox1要更新!
因為我除了利用下面的程式碼外,我利用TDBGrid去點選我所要的項目
但是DBLookupComboBox1依然沒有動,所以我想會是不是要告訴DBLookupComboBox1要更新呢?


[code cpp]
ADOTable1->Locate("種類",Edit1->Text,[loPartialKey]);
[/code]
------
-謝謝大大熱心的回覆!謝謝!
編輯記錄
l90425 重新編輯於 2008-11-19 00:27:05, 註解 無‧
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-11-19 01:01:51 IP:211.72.xxx.xxx 訂閱
您一定沒去看這篇吧! 點一下它就會超連結過去!
http://delphi.ktop.com.tw/board.php?cid=30&fid=1498&tid=92297


DBLookupComboBox 就是用於兩個檔連動,
其 DataDource DataField 應填與 DBGrid 相同的那個 (例如: 單據檔的客戶代號欄),
而 ListSource ListField 要填與 DBGrid 不同的另一個 (例如: 客戶檔的客戶名稱欄).
KeyField 則要填與 DBGrid 的 DataField 對應的 ListSource 中的欄名 (例如: 客戶檔的客戶代號欄)
此時, DBLookupComboBox 要 Show 的是客戶檔的客戶名稱欄.

您不填 DataSource, 則根本與 DBGrid 不是連動的, 當然不會跟著 DBGrid 連動啊!

===================引 用 l90425 文 章===================
請問是不是有什麼方法要告訴DBLookupComboBox1要更新!
因為我除了利用下面的程式碼外,我利用TDBGrid去點選我所要的項目
但是DBLookupComboBox1依然沒有動,所以我想會是不是要告訴DBLookupComboBox1要更新呢?
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-11-19 01:36:04 IP:59.125.xxx.xxx 訂閱
看到大大的這一句話讓我恍然大悟"您不填 DataSource, 則根本與 DBGrid 不是連動的, 當然不會跟著 DBGrid 連動啊!"

因為我的DBLookupComboBox並沒有要用到DataSource,因此我就算查詢ADOTable1的項目DBLookupComboBox也不會移到查詢到的ADOTable1項目因此我感覺這個問題答案好像是無解還有什麼方法能解決?

PS:我的 DBLookupComboBox 指是為讓人看ADOTable1項目有什麼選項,所以不會用到關聯,只是一般的拉單

實在太謝謝大大了!謝謝!


===================引 用 herbert2 文 章===================
您一定沒去看這篇吧! 點一下它就會超連結過去!
http://delphi.ktop.com.tw/board.php?cid=30&fid=1498&tid=92297


DBLookupComboBox 就是用於兩個檔連動,
其 DataDource DataField 應填與 DBGrid 相同的那個 (例如: 單據檔的客戶代號欄),
而 ListSource ListField 要填與 DBGrid 不同的另一個 (例如: 客戶檔的客戶名稱欄).
KeyField 則要填與 DBGrid 的 DataField 對應的 ListSource 中的欄名 (例如: 客戶檔的客戶代號欄)
此時, DBLookupComboBox 要 Show 的是客戶檔的客戶名稱欄.

您不填 DataSource, 則根本與 DBGrid 不是連動的, 當然不會跟著 DBGrid 連動啊!

===================引 用 l90425 文 章===================
請問是不是有什麼方法要告訴DBLookupComboBox1要更新!
因為我除了利用下面的程式碼外,我利用TDBGrid去點選我所要的項目
但是DBLookupComboBox1依然沒有動,所以我想會是不是要告訴DBLookupComboBox1要更新呢?
------
-謝謝大大熱心的回覆!謝謝!
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#10 引用回覆 回覆 發表時間:2008-11-19 10:00:13 IP:211.72.xxx.xxx 訂閱
另用一組 ADOQuery2 (SELECT * FROM 同一個 Table WHERE 同條件), DataSource2
做 DBLookupComboBox 之 ListSource, 當 ADOTable1 做 Locate, TADOQuery2 也跟著做.

既然只是拉單, 那為何又要與 ADOTable1 連動呢 ?

===================引 用 l90425 文 章===================
PS:我的 DBLookupComboBox 指是為讓人看ADOTable1項目有什麼選項,所以不會用到關聯,只是一般的拉單
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#11 引用回覆 回覆 發表時間:2008-11-19 10:25:45 IP:59.125.xxx.xxx 訂閱
因為我要利用Edit1輸入關鍵字後DBLookupComboBox1的拉單就會跳到符合的項目去,所以我以為當ADOTable1移動到符合的項目時DBLookupComboBox1也會移動到相同的項目去,所以才要 ADOTable1 連動

謝謝!謝謝!

[code cpp]
ADOTable1->Locate("種類",Edit1->Text,[loPartialKey]);
[/code]


===================引 用 herbert2 文 章===================
既然只是拉單, 那為何又要與 ADOTable1 連動呢 ?

------
-謝謝大大熱心的回覆!謝謝!
編輯記錄
l90425 重新編輯於 2008-11-19 10:27:30, 註解 無‧
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#12 引用回覆 回覆 發表時間:2008-11-19 10:48:27 IP:59.125.xxx.xxx 訂閱
請問大大有沒有辦法指定DBLookupComboBox1跳到某一列項目(例如跳到第5列)呢?
謝謝!謝謝!
------
-謝謝大大熱心的回覆!謝謝!
herbert2
尊榮會員


發表:58
回覆:632
積分:878
註冊:2004-04-16

發送簡訊給我
#13 引用回覆 回覆 發表時間:2008-11-19 14:07:36 IP:211.72.xxx.xxx 訂閱
TADOQuery, TADOTable 都有 RecNo 可 Read/Write, 參看 Help.
注意: DBLookupComboBox 的 ListSource, TADOQuery 不可與 DBGrid 是同一個.
Test 一下吧!
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#14 引用回覆 回覆 發表時間:2008-11-19 16:11:19 IP:59.125.xxx.xxx 訂閱
謝謝大大的幫忙最後我把ADOTable1改成ADOQuery1利用SQL來達成相近的目的

謝謝!謝謝!
------
-謝謝大大熱心的回覆!謝謝!
shchen
一般會員


發表:12
回覆:26
積分:7
註冊:2003-08-13

發送簡訊給我
#15 引用回覆 回覆 發表時間:2011-05-25 17:38:15 IP:116.6.xxx.xxx 訂閱
若想用程式碼來跳到第5列,可以,但首先要知道第5列的資料值內容是什麼才可以.
例如:
第1列= 班級
第2列=姓名
.
.
第5列=學號.

使用DBLookupCombobox1->KeyValue="學號";
即可將DBLookupCombobox的Text 指向第5列,並且該有的連動也會正常觸發.

===================引 用 l90425 文 章===================
請問大大有沒有辦法指定DBLookupComboBox1跳到某一列項目(例如跳到第5列)呢?
謝謝!謝謝!
系統時間:2017-12-13 21:14:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!