这么罗索了半天,吓着大家了吧,最近遇到一些高手指点,我现在写好地程序贴一下,希望对大家有点用procedure Tmain.PageControl1Change(Sender: TObject); beginquery1.SQL.Clear; //装入combobox1 query2.sql.clear; query2.sql.add('select town_code,town_name from town'); query2.open; combobox1.Items.Clear; while not query2.Eof do begin combobox1.items.add(query2.FieldByName('town_code').asString); query2.next end; if combobox1.Items.Count > 0 then combobox1.ItemIndex := 0; combobox1.OnChange(nil)end; procedure Tmain.ComboBox1Change(Sender: TObject); begin query3.close; query3.sql.clear; query3.sql.add('select count_name,town_code ,count_code from cun where town_code = '''+combobox1.text+''''); query3.open; combobox2.Items.Clear; while not query3.Eof do begin combobox2.items.add(query3.FieldByName('count_code').asString); query3.next end; if combobox2.items.count >0 then combobox2.itemindex := 0 ; query1.SQL.Clear; query1.SQL.Add('select * from qiye where '''+combobox1.Text+'''' ) ; query1.open; end;procedure Tmain.ComboBox2Change(Sender: TObject); beginquery1.SQL.Clear; query1.SQL.Add('select * from qiye where town_code = '''+combobox2.text+'''') ; query1.Open;end;
主从表的字段内容显示在两个combobox中
我想要的格式如下
combobox1:选中->中国 combobox2显示:北京
上海
选中->美国 combobox2显示:纽约
芝加哥
之前建立了两个表格,用于用户录入信息
结构为
表一 表二
|code1 | name1| 和 code2 | name2 |code1 |
---------------- ------------------------------
| | | | | | |
---------------- ------------------------------
现在我想在应用界面,用两个combobox分别显示表一二中的name项内容,(表二是表一的从表,即在combobox一中选择了某项,在combobox二中显示该项的从项)
beginquery1.SQL.Clear;
//装入combobox1
query2.sql.clear;
query2.sql.add('select town_code,town_name from town');
query2.open;
combobox1.Items.Clear;
while not query2.Eof do begin
combobox1.items.add(query2.FieldByName('town_code').asString);
query2.next
end;
if combobox1.Items.Count > 0 then combobox1.ItemIndex := 0;
combobox1.OnChange(nil)end;
procedure Tmain.ComboBox1Change(Sender: TObject);
begin
query3.close;
query3.sql.clear;
query3.sql.add('select count_name,town_code ,count_code from cun where town_code = '''+combobox1.text+'''');
query3.open;
combobox2.Items.Clear;
while not query3.Eof do begin
combobox2.items.add(query3.FieldByName('count_code').asString);
query3.next
end; if combobox2.items.count >0 then combobox2.itemindex := 0 ; query1.SQL.Clear;
query1.SQL.Add('select * from qiye where '''+combobox1.Text+'''' ) ;
query1.open; end;procedure Tmain.ComboBox2Change(Sender: TObject);
beginquery1.SQL.Clear;
query1.SQL.Add('select * from qiye where town_code = '''+combobox2.text+'''') ;
query1.Open;end;