这是我的数据表结构:
主任医师    正高
主任技师    正高
副主任医师  副高
副主任技师  副高
主治医师    中级
主管技师    中级
医师    初级
医士    初级
  
如何使当我在ComboBox1中选择"正高,副高,中级,初级"时ComboBox2会显示出相应的内容.我是一个delphi的初学者,希望大家都能帮帮我,说得详细些~~~谢谢

解决方案 »

  1.   

    onshow里面给combobox1加内容在combobox1的onchange里面给combobox2加内容很简单的..
      

  2.   

    或者在OnCloseUp里
    combobox2.text = combobox1.text; // combobox2.itemindex = combobox1.itemindex;
      

  3.   

    楼上的两位人家是combobox1选择级别,combobox2显示名称...楼主这样写
    procedure TForm1.FormShow(Sender: TObject);
    begin
      with adoquery1 do
        begin
          Close;
          SQL.Text:='select distinct [字段1] from 表名';
          Open;
          First;
          while not eof do
            begin
              combobox1.Items.Add(FieldByName('字段1').AsString);
              next;
            end;
        end;
    end;
    以上代码是动态加载"正高,副高,中级,初级" 其中distinct不会取重复值..procedure TForm1.ComboBox1Change(Sender: TObject);
    var
      a1:string;
    begin
      a1:=ComboBox1.Text;
      with adoquery1 do
        begin
          Close;
          SQL.Text:='select * from 表名 where 字段1='''+a1+'''';
          open;
          First;
          while not eof do
            begin
              ComboBox2.Items.Add(FieldByName('字段2').AsString);
              next;
            end;
        end;
    end;
    以上代码是,当你选择了"正高,副高,中级,初级"时,ComboBox2会自动给出相应的值..
      

  4.   

    用BDE组件是不是也是一样的?另外,2个combobox需要什么属性设定吗?
      

  5.   

    BDE里的query用法一样..combobox没有什么要设定的.
      

  6.   

    不行,procedure TForm1.FormShow(Sender: TObject)中,combobox1不能加载级别,空的.如果是把第一段代码注释掉,而在combobox1.Items里添加级别,之后选择可以实现combobox2加载相关名称,但加载的名称不会消除,后面加载的会依次排列在已经加载的下面~~~哭
      

  7.   

    解决了~~~我没用第一段代码,直接将等级添加在combobox1里,然后用第2段代码,但捎有改动:
    procedure TfrmneituiManage.ComboBox1Change(Sender: TObject);
    var
      a1:string;
    begin
      ComboBox2.Items.clear;
      a1:=ComboBox1.Text;
      with query do
        begin
          Close;
          sql.clear;
          SQL.Text:='select 字段2 from  表名 where 字段1='''+a1+'''';
          ComboBox2.Enabled:=true;
          open;
          First;
          while not eof do
          begin
              ComboBox2.Items.Add(FieldByName('字段2').AsString);
              next;
          end;
        end;
    end;
    谢谢swcsoft,也要谢谢andyzhou1101和Elysium.....