表A: orderno,supplier_no, orderdate,comment
表B:supplier_no,supplier_name,re在DBcombobox中(字段為A中的supplier_no)輸入字母時,根據模糊查詢查出表B中匹配此字母的所有supplier_no,同時像IE那樣自動展開.請問該怎麼處理?想了很就都沒有實現出來.
請大家給點指點,謝謝!

解决方案 »

  1.   

    ADODataSet的CommandText := 'select * from TempA , TempB where TempA.supplierNo = TempB.supplierNo'DBComboBox的DataField := supplierNo
      

  2.   

    while not(ADODataSet1.Eof) do
        begin
            DBComboBox1.Items.Add(ADODataSet1.fieldByName('supplierNo').AsVariant);
            ADODataSet1.Next;
        end;
      

  3.   

    to  benzcb(kpig.zcb) ( ) :
       你这样做达不到我的效果的.我的想法是这样的:在向DBcombobox输入字符时,当你输入第一个字符时,程序自动将dbcombobox展开,里面显示的是表B中所有含有此字符的supplierno(select supplier_no from 表B where supplierNo like trim(dbcombobox1.text)% ),向IE那样自动展开.
      你的想法是先将Dbcombobox中的Item用supplier_no填充起来,然后输入时寻找,我之前试过的,达不到我想要的效果.
      

  4.   

    要自己写一个吧,难度也不是很大。
    1)给一个FORM,这个FORM的位置根据EDIT来定,不过要处理FORM的一些事件。
    1)在EDIT里输入,然后在ONCHANGE事件里处理
    2)在ONCHANGE里做筛选然后将结果增加到FORM的一个LISTBOX空间里。
      

  5.   

    to netfly(支点):
      之前我用了一个dbedit和一个combobox组合了用,可以达到部分效果,但是就是自动展开的动作需要自己用鼠标点.你说的这种方法我来试一下,谢谢了!
      

  6.   

    有一个这样的控件,叫EXDBEdit,好像是这个,实现的功能非常的全。
      

  7.   

    to imho888() :没有这个控件,网上搜不到.