1。在一个AA表中存在记录: 厂商ID,厂商名称分别为 22,33 。  有两个edit  当我在edit1输入厂商名称33时怎么在edit2自动显示厂商ID:22?2。在BB表中存在多个相同的记录: 如何在combobox中显示共同记录中的一个,把其他相同的过滤掉?

解决方案 »

  1.   

    2. SELECT DISTINCT fieldname FROM tablename
      

  2.   

    1.可以在Edit1的OnChange事件中通过Edit1的Text值,找到对应的记录.再改变Edit2的Text
      

  3.   

    能给出详细的解答么?我是一个delphi新手啊
      

  4.   

    ////////在edit2自动显示厂商ID:22
    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add( 'select  厂商ID,厂商名称 from aa where 厂商名称='''+edit1.text+'''');
    adoquery1.open;
    edit2.text:=adoquery1.fieldbyname('厂商ID').value;
      

  5.   

    你的第一个意思是一个 厂商ID 对应多个厂商名称?
    第二个问题:
    with adoquery do
    begin
      close;
      sql.clear;
      sql.text := 'SELECT DISTINCT(字段) FROM 表';
      Open;
      while not eof do
      begin
        combobox.items.add(fieldByname('字段').asstring);
        next;
      end;
    end;
      

  6.   

    总的来说就是通过厂商名称查找相应的厂商ID,如果存在则把想对应的厂商ID值给edit2,如果不存在则重新生成一个