線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1388
推到 Plurk!
推到 Facebook!

請幫忙解一個ComboBox的問題

尚未結案
chateau_frank
一般會員


發表:20
回覆:32
積分:10
註冊:2005-07-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-07 18:51:08 IP:211.20.xxx.xxx 未訂閱
我用一個DBLookupComboBox的選取值當key,想去帶出另一個Table有相同key所有的欄位值,但我只會寫到底下這樣,頂多帶一筆出來,請大大教我一下如果好幾列符合的情況該怎麼解,謝謝。 procedure TForm1.DBLookupComboBox1CloseUp(Sender: TObject); var twcitycode:string; begin If DBLookupComboBox1.Text = '' then ShowMessage('wrong') else twcitycode := DBLookupComboBox1.KeyValue; with Table2 do begin Active := True; SetKey; FieldByName('COUNTYCODE').AsString := twcitycode; If GotoKey then ComboBox1.Text := FieldByName('CITYNAME').AsString else ComboBox1.Text := ''; end; end;
cashxin2002
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-07 19:57:26 IP:202.62.xxx.xxx 未訂閱
您好﹗    將Table元件改用為Query元件﹒
procedure TForm1.DBLookupComboBox1CloseUp(Sender: TObject);
var
  twcitycode:string;
begin
  If DBLookupComboBox1.Text = '' then
    ShowMessage('wrong')
  else
    twcitycode := DBLookupComboBox1.KeyValue;
  with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Select * From 資料表 Where ');
    SQL.Add('COUNTYCODE='''+twcitycode+'''');
    Open;
  end;
  ComboBox1.Items.Clear;
  if Query1.RecordCount <> 0 then
    begin
      While Not Query1.Eof do
      begin
        ComboBox1.Text := Query1.Fields[1].AsString;
      //假設COUNTYNAME在資料表中為第二順序欄位﹐Fields值從0開始計算
        Query1.Next;
      end;
    end;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
chateau_frank
一般會員


發表:20
回覆:32
積分:10
註冊:2005-07-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-07 23:03:54 IP:220.136.xxx.xxx 未訂閱
ComboBox1.Items.Clear;   if Query1.RecordCount <> 0 then     begin       While Not Query1.Eof do       begin         ComboBox1.Text := Query1.Fields[1].AsString; //假設COUNTYNAME在資料表中為第二順序欄位﹐Fields值從0開始計算 Query1.Next; end; end; ======================== 謝謝CASHXIN2002大大的回答,但是紅色字那邊要怎麼改?因為如果是用TEXT的話,還是只跑出一個答案,感謝您。
chateau_frank
一般會員


發表:20
回覆:32
積分:10
註冊:2005-07-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-07 23:09:56 IP:220.136.xxx.xxx 未訂閱
對不起,第一次貼,沒想到都自動靠左,讓大大眼睛受罪了,也請順便教一下要如何才能像大大貼得那樣漂亮的程式呢? 我上一貼講的問題是在COMBOBOX.TEXT := QUERY1.FIELD[4].ASSTRING;那部份.
xxiaowang
中階會員


發表:51
回覆:75
積分:55
註冊:2005-01-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-08 08:36:09 IP:219.133.xxx.xxx 未訂閱
hi,chateau_frank, 用这句: COMBOBOX.ITEMS.ADD(QUERY1.FIELD[4].ASSTRING);
cashxin2002
版主


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-08 09:19:08 IP:202.62.xxx.xxx 未訂閱
您好﹗    不好意思﹐筆誤了﹐應同xxiaowang兄所言﹐改成﹕ ComboBox1.Items.Add(Query1.Fields[4].AsString);    程式碼排版方法見如下連接﹕ http://delphi.ktop.com.tw/topic.php?TOPIC_ID=7326    指令碼使用方法見如下連接﹕ http://delphi.ktop.com.tw/pop_forum_code.asp    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
chateau_frank
一般會員


發表:20
回覆:32
積分:10
註冊:2005-07-07

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-07-08 09:37:23 IP:211.20.xxx.xxx 未訂閱
感謝xxiaowang的告知,我已成功的完成了這個功能了 但比上面更難的問題是,得分者該是哪一位大大ㄚ? 可否請版主給個建議,因為我剛來,很怕得罪了這麼多熱心的大大,謝謝。
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-07-08 09:55:03 IP:61.222.xxx.xxx 未訂閱
建議 得分歸於xxiaowang 兄 鼓勵新人答分,嘿!人人有責。    cashxin2002 兄,不要打我!....呵呵 < >< > ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~
chateau_frank
一般會員


發表:20
回覆:32
積分:10
註冊:2005-07-07

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-07-08 10:29:59 IP:211.20.xxx.xxx 未訂閱
謝謝版主解惑 也謝謝CASHXIN2002兄對新人的指導
cashxin2002
版主


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

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-07-08 12:40:07 IP:202.62.xxx.xxx 未訂閱
wameng兄﹕ 我要打﹒﹒﹒﹒﹒﹒牌﹐一起來好不好﹖    chateau_frank兄﹕ 不用太顧忌這個讓您覺得更難的問題了﹐能夠在站內找到解決問題的方法﹐這個才是最重要的﹒    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
系統時間:2024-09-29 7:48:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!