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

使用ADODATASET如何做到尋找及找下一筆的功能??

答題得分者是:chih
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-12 18:27:28 IP:61.218.xxx.xxx 未訂閱
各位前輩請教一下: 使用ADODATASET如何做到尋找及找下一筆的功能?? 如Locate無法尋下一筆,如下 ADO_Master.Locate('客戶編號','1',[loCaseInsensitive,loPartialKey]) ; 在VB中ADO的Recrodset可以用 Recordset.find='客戶編號 Like "1%"' Recordset.FindNext 但在Delphi要如何做 不知Delphi要如何做到這樣的功能 非常非常的謝謝你,因為有你這世界變的更美好 ☆ ^_^ ☆ °∴°﹒☆°.﹒‧°∴°﹒°.﹒‧°∴°﹒ ﹒‧°∴°﹒☆°.﹒‧°∴°﹒°.﹒‧°∴°﹒﹒‧°∴°﹒☆°. 發表人 - jeffreck 於 2003/03/12 18:29:42 發表人 - jeffreck 於 2003/03/12 18:32:07 發表人 - jeffreck 於 2003/03/12 18:33:32
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-12 18:57:10 IP:61.217.xxx.xxx 未訂閱
尋找: ADO_Master.Locate('客戶編號','1',[loPartialKey]) ; 下一筆: ADO_Master.NEXT; TRY TRY SEE..
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-12 20:10:49 IP:61.70.xxx.xxx 未訂閱
引言: 尋找: ADO_Master.Locate('客戶編號','1',[loPartialKey]) ; 下一筆: ADO_Master.NEXT; TRY TRY SEE..
謝謝chih兄的回答,但我是要尋找下一筆的功能 如以下資料: 條件為: 客戶編號 Like "%1%"' 客戶編號 110 <<按尋找後指標位置 330 120 <<按尋找下筆後指標位置 888 130 <<再按尋找下筆後指標位置 在VB可以做到但Delphi不知如何做??
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-12 21:29:58 IP:61.216.xxx.xxx 未訂閱
ADO_Master.CommandText語法有沒有ORDER BY 客戶編號??如果有,我剛寫的就是你要的了... TRY TRY SEE
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-12 22:51:27 IP:61.70.xxx.xxx 未訂閱
引言: ADO_Master.CommandText語法有沒有ORDER BY 客戶編號??如果有,我剛寫的就是你要的了... TRY TRY SEE
chih兄謝謝你回答,速度真快 我了解你的意思,如果有依客戶編號排序,如相同資料會放在一起 所以按下一筆也會看到要查的資料 但我要做的功能是由使用者指定要查的欄位,所以因該不行 不知是否有更好的方法?? 另外有去看了一下之前Locate的相關討論 http://delphi.ktop.com.tw/topic.php?topic_id=24072 連Locate也有問題?? 真的有點心灰意冷了!!
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-13 08:13:15 IP:211.74.xxx.xxx 未訂閱
我想到一個方法,希望有幫助.. 你用另外一個SQL來做 SELECT ABC,客戶編號 FROM XXX ORDER BY 客戶編號;這樣你應該可以取得 客戶編號的順序及相對應的ABC(你的主鍵值).然後取的主鍵值就可以來這樣做了. ADO_Master.Locate('ABC',Query1.FieldByName('ABC').Value,[loPartialKey]) ; 而不必用ADO_Master.NEXT 了.... TRY TRY SEE
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-13 12:18:11 IP:61.219.xxx.xxx 未訂閱
ADOQuery1.Filter := '客戶編號 like '#39 '1%' #39; ADOQuery1.Filtered := False; // ADOQuery1.FindNext; /* Free 和 Create 一樣重要 */ 發表人 - Mickey 於 2003/03/13 12:25:43
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-03-13 12:33:09 IP:61.218.xxx.xxx 未訂閱
引言: 我想到一個方法,希望有幫助.. 你用另外一個SQL來做 SELECT ABC,客戶編號 FROM XXX ORDER BY 客戶編號;這樣你應該可以取得 客戶編號的順序及相對應的ABC(你的主鍵值).然後取的主鍵值就可以來這樣做了. ADO_Master.Locate('ABC',Query1.FieldByName('ABC').Value,[loPartialKey]) ; 而不必用ADO_Master.NEXT 了.... TRY TRY SEE
謝謝 chih 及 Mickey 前輩的教導 用Query1加Locate也是一種不錯變通的方法, 但看了之前在討論Locate會找不到資料的問題,真的有點怕怕 http://delphi.ktop.com.tw/topic.php?topic_id=24072 所以目前先用 一筆一筆比對,有空再來試試用Query1加Locate 謝謝兩位前輩的細心教導,感恩!!
系統時間:2024-06-28 18:33:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!