增加一个标志性的字段,再用sql ...where bz=1...之类
不知可否。

解决方案 »

  1.   

    建议做在客户端
    datamodule1.query1.sql.add('select distinct field1 from table1')
    在formcreate事件中将纪录倒入combobox1
    在combobox1Change事件改变table1的filter,filtered属性,并refresh;
    这样减少网络传输
      

  2.   

    我有做过啊
    你得建一个表
    在你的FORM的ACTIVE事件中写入
    WHILE NOT TABLE。EOF DO 
    BEGIN
    COMBOBOX。ITEMS。ADD(TABEL。FIELDBYNAME(‘NAME’)。VALUE);
    TABLE。NEXT;
    END;
    当在COMBOBOX没有可选值时
    可以输入新的值
    在COMBOBOX中的ONCHANGE事件中把新值加入的表中
    TABEL。APPEND;
    TABEL。FIELDBYNAME(‘NAME‘)。VALUE:=COMBOBOX。TEXT;
    TABEL。POST;
    给分吧
      

  3.   

    补充
    不知老兄你会不会做DBGRID的下拉式的列呢
    我加上吧
    你双击DBGRID然后新建一个列名
    选中这个列名将其BUTTONSTYLE属性选CBSAUTO
    就可以了
    上面有错
    要加入的不是在COMBOBOX中COMBOBOX。ITEMS。ADD(TABEL。FIELDBYNAME(‘NAME’)。VALUE);
    应是这样的
    dbgrid1.columns[0].picklist.add('gggg');
    这样就可以了
    还有上面TABEL。FIELDBYNAME(‘NAME‘)。VALUE:=COMBOBOX。TEXT;
    也要改成TABEL。FIELDBYNAME(‘NAME‘)。VALUE:=TABEL。FIELDBYNAME(’NAME‘)。VALUE;
    这下就可以了
    给分吧:)
      

  4.   

    datamodule1.query1.sql.add('select distinct field1 from table1')
    在formcreate事件中将纪录倒入combobox1
    在combobox1Change事件改变table1的filter,filtered属性,并refresh;
      

  5.   

    为什么不使用DBLookup控件