关于combobox!(100分)

  • 主题发起人 主题发起人 lijunm
  • 开始时间 开始时间
L

lijunm

Unregistered / Unconfirmed
GUEST, unregistred user!
两个combobox1,combobox2.一个表
班级 系名(简表)
管理971 管理系
管理981 管理系
会计971 管理系
电自971 电力系
电自972 电力系
动力971 动力系
第一个问题:
combobox1从表中读取系名:管理系,电力系,动力系.不让它重复,即一个管理系,一个电力系,一个动力系
这怎么做?
第二个问题:
combobox1读取系名后,combobox2自动选择只添加属于该系的班级.比如在combobox1中选择了"管理系"
combobox2中只出现属于该系的班级:"管理971","管理981","会计971"而不会出现:"电自971"."电自972".
这该怎么做?谢谢!
 
这是完整的代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
query1.sql.clear;
query1.sql.add('select distinct dept from temp2');
query1.open;
combobox1.Items.Clear;
while not query1.Eof do begin
combobox1.items.add(query1.FieldByName('dept').asString);
query1.next
end;
if combobox1.Items.Count > 0 then combobox1.ItemIndex := 0;
combobox1.OnChange(nil)
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
query2.close;
query2.sql.clear;
query2.sql.add('select class from temp2 where dept = '''+combobox1.text+'''');
query2.open;

combobox2.Items.Clear;
while not query2.Eof do begin
combobox2.items.add(query2.FieldByName('class').asString);
query2.next
end;
if combobox2.items.count >0 then combobox2.itemindex := 0
end;
 
crab的代码已经很完整了
可以在下面两条语句中在插入一句 query2.first;
 combobox2.Items.Clear;
while not query2.Eof do begin
 
多人接受答案了。
 
后退
顶部