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

dbgrid與dbcombobox的問題

答題得分者是:老大仔
shihcai
一般會員


發表:7
回覆:3
積分:2
註冊:2010-06-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-08-27 01:34:41 IP:220.142.xxx.xxx 訂閱
各位大大 請教一下
假設 我dbgrid 的欄位有4個分別為
欄位 a b c d
----------------------------
a1 b1 c1 d1
資料 a2 b2 c2 d2
a3 b3 null null
d4 null null null

現在想篩選出欄位d 的值是null 再把符合欄位d=null 對應到的欄位A的值放在dbcombobox上面
以上面的例子
dbcombobox裡面會有(a3,a4)兩個
然後我選
a3 後他會把b3帶到dbedit裡面 我再用edit去修改他的 c3 跟 d3 的內容
我用的話dbcombobox都把dbgrid的所有a1的值都帶出來了
請問這樣要如何設定
麻煩各位大大指導一下 謝謝
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-08-27 10:16:14 IP:59.120.xxx.xxx 未訂閱
1. 先放以下元件: ADOConnection1、ADOQuery1、ADOQuery2、DataSource1、ComboBox1和4個DBEdit
2. 然後ADOQuery1和ADOQuery2都連向ADOConnection1
DataSource1連向ADOQuery2
DBEdit1~4也指向DataSource1
3. ADOQuery2預設的sql為: Select * From xxx where d is null

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(' Select a From xxx where d is null ');
ADOQuery1.Prepared;
ADOQuery1.Open;
ADOQuery1.First;
ComboBox1.Clear;
while not ADOQuery1.Eof do
begin
ComboBox1.Items.Add(ADOQuery1.FieldByName('a').AsString);
ADOQuery1.Next;
end;
ADOQuery1.Close;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add(' Select * From xxx where a = ''' ComboBox1.Text '''');
ADOQuery2.Prepared;
ADOQuery2.Open;
end;

[/code]

我只寫上前半部
後半部的存檔部份
請您自行寫囉~

===================引 用 shihcai 文 章===================
各位大大 請教一下
假設 我dbgrid 的欄位有4個分別為
欄位 a b c d
----------------------------
a1 b1 c1 d1
資料 a2 b2 c2 d2
a3 b3 null null
d4 null null null

現在想篩選出欄位d 的值是null 再把符合欄位d=null 對應到的欄位A的值放在dbcombobox上面
以上面的例子
dbcombobox裡面會有(a3,a4)兩個
然後我選
a3 後他會把b3帶到dbedit裡面 我再用edit去修改他的 c3 跟 d3 的內容
我用的話dbcombobox都把dbgrid的所有a1的值都帶出來了
請問這樣要如何設定
麻煩各位大大指導一下 謝謝
系統時間:2024-05-20 20:35:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!