Combobox 取值 |
答題得分者是:vinchenkimo
|
iii928
一般會員 發表:19 回覆:10 積分:5 註冊:2004-06-04 發送簡訊給我 |
各位先進,問一個新手問題
我有二個combobox1和combobox2去連接資料庫的欄位,combobox1取值後按下combobox2時會帶出相關資料,如果這時候combobox1下拉為別的值時combobox2的資料就無法選用了,以下為程式碼請各先進修改:
procedure TForm3.ComboBox2Enter(Sender: TObject);
Var CityQuery:TADOQuery;
SQLStr:String;
Begin
if combobox2_Add=False then
begin
CityQuery:=TADOQuery.Create(nil);
With CityQuery Do
Begin
Connection:=Datamodule2.ADOConnection1;
CityQuery.Close;
CityQuery.SQL.Clear;
SQLSTR:='Select DISTINCT City From Address';
CityQuery.SQL.Text:=SQLSTR;
Open;
First; While not EOF Do
Begin
Combobox2.Items.Add(Fieldbyname('City').Value);
Next;
End;
Combobox2_Add:=True;
End;
End;
end; procedure TForm3.ComboBox3Enter(Sender: TObject);
Var CountryQuery:TADOQuery;
SQLSTR:String;
Begin
if combobox3_Add=False then
begin
CountryQuery:=TADOQuery.Create(nil);
With CountryQuery Do
Begin
Connection:=Datamodule2.ADOConnection1;
CountryQuery.Close;
CountryQuery.SQL.Clear;
SQLSTR:='Select Country From Address Where City=''' Combobox2.Text '''';
CountryQuery.SQL.Text:=SQLSTR;
Open;
While not EOF Do
Begin
Combobox3.Items.Add(Fieldbyname('Country').Value);
Next;
End;
Combobox3_Add:=True;
End;
End;
end;
|
vinchenkimo
一般會員 發表:0 回覆:37 積分:17 註冊:2004-03-30 發送簡訊給我 |
你文中的combobox1和combobox2是不是你程式裡的combobox2和combobox3
看你的程式只有在combobox2進去時填'Select DISTINCT City From Address
combobox3進去時填'Select Country From Address Where City=''' Combobox2.Text '''';
之後因為Combobox2_Add:=True; Combobox3_Add:=True;都被設成true
所以兩個onenter procedure 就沒用了 建議你可以設定 comboboxonchange 或 comboboxonExit 來做連動
initial 先填好 combobox2的值
設定combobox2change 或 comboboxonExit 時填 combobox3 的值,記得填之前要先將combobox3 上次的值全清掉 code 沒縮排不知道我有沒有看錯誤解你的意思
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |