我现在用delphi7.0编写一查询程序,目的是要在所有的选项中取出相同的,并将相同的显示一条,
例如:选项中有记录:
       部门            姓名
  (1)信息通讯中心    小王  
  (2)财务部          小李
  (3)发电一部        李军
  (4)信息通讯中心    小康.....
现在我想按部门查询是将部门中的信息添入下拉框中并且在下拉框中只显示一个“信息通讯中心”(相同的只显示一个)。即(按部门查询):
  信息通讯中心      
  财务部          
  发电一部  
然后在下拉框中选择“信息通讯中心” 就回显示两条记录。

解决方案 »

  1.   

    'Select * from Table where 部门='''+Combobox1.text+''' '
      

  2.   

    查询语句  with ADOQuery1 do
           begin
             close;
             SQL.clear;
             SQL.add('select distinct 部门 from tablename');//关键查询语句
             OPen;
             ComboBox1.Clear;
             While not EOF do
                   begin
                      ComboBox1.Items.Add(FieldByName('部门').AsString);
                      Next;
                   end;
           end;
      

  3.   

    select distinct 部门 from table
      

  4.   

    然后在下拉框中选择“信息通讯中心” 就回显示两条记录。
    ==================================
    select * from tablename where 部门 = '''+trim(ComboBox1.text)+'''
      

  5.   

    首选用adoquery查出部门,并把它加入到combobox中去
      adoquery1.sql.add(' select distinct 部门 from tabName');
      adoquery1.open;
      adoquery1.first;
      while not adoquery1.eof do
      begin
        combobox.items.add(adoquery1.fieldbyname('部门').asstring;
        adoquery1.next;
      end;再在combobox的onchange事件中将combobox中对应部门的记录查询出来,
      

  6.   

    可不可以在ComBoBox的Items.Add事件前加一个判断语句呀?判断Items存在就不加入值,否则!这样子可以吗?
      

  7.   

    with ADOQuery1 do
           begin
             close;
             SQL.clear;
             SQL.add('select distinct 部门 from tablename');//关键查询语句
             OPen;
             ComboBox1.Clear;
             While not EOF do
                   begin
                      ComboBox1.Items.Add(FieldByName('部门').AsString);select * from tablename where 部门 = '''+trim(ComboBox1.text)+'''                  Next;
                   end;
           end;