我想把一个字段的值赋给一个下拉框,并且把字段中的重复的值只显示一个,还有我的下拉框有2个,前面的变化后面的跟着变化,请问各位高手如合作,最好有个例子。谢谢。

解决方案 »

  1.   


     combobox1.lines.add(table1.fieldbyname('字段').asstring);
    至于前一个和后一个相匹配变化只需在前一个的CHANGE过程中加入相应的控制匹配的语句就可以了。
      

  2.   

    假如你的用的数据集控件是table1,两个列表框的分别为combobox1和combobox2,则可以用如下代码来实现:
    //当该值还不存在于列表中时则加入:
    if combobox1.Items.Indexof(table1.FieldByName('你所要加入的字段名').asstring)=-1 then
    begin
    combobox1.Items.Add(table1.FieldByName('你所要加入的字段名').asstring);
    combobox2.Items.Add(table1.FieldByName('你所要加入的字段名').asstring);
    end;
      

  3.   

    我用的是ado连接数据库,adotable没有上述的方法,还请各位老大帮忙。谢谢!!!
      

  4.   

    1)
    ADOTable.First;
    while not ADOTable.Eof do 
    begin
      if Combobox1.Items.indexof(ADOTable.FieldByName('你要加入的字段名').AsString)=-1
      then
        begin
          Combobox1.Items.Add(ADOTable.FieldByName('你要加入的字段名').AsString);
          Combobox2.Items.Add(ADOTable.FieldByName('你要加入的字段名').AsString);
        end;2)
    procedure TForm1.ComboBox1Change(Sender: TObject);
    begin
      Combobox2.Text:=Combobox1.text;
    end;
      

  5.   

    DBListBox : 连接Lookup 设置 FieldName。
    ComboBox: 同上。
      

  6.   

    同意  mengxianbao1521(代码优化) 的方法,简单吗!
      

  7.   

    Combobox1.Items.Add(trim(ADOTable.FieldByName('字段名').AsString));
      

  8.   

    对不起各位,我的意思可能没有说明白,我的意思是这样的,我想把整个字段的值赋给一个下拉框,我在下拉框里面能够进行选择,而且能够把字段里面重复的值能画成一个,上面的方法我已经试过了,只能把字段的第1个值赋给ComboBox1,还老各位老大教教我,谢谢。
      

  9.   

    query1.close;
    query1.sql.clear;
    query1.sql.add('select distinct 字段 from Table');
    query1.open;
    query1.first;
    while not query1.eof do
    begin
      ComboBox1.items.add(query1.fieldbyname('字段').asstring);
      query1.next;
    end;