一张表,有多个字段,每个字段对应一个条件,
需要定位到某一条记录时需要满足一个或多个条件
现利用多个DBLookupComboBox(每个字段对应一个)选择查询条件,进行联合查询
这一功能已经实现,但是在第一个条件的DBLookupComboBox选择了条件,进行了查询之后,要求其他的DBLookupComboBox中的条件选项是在第一次查询的结果中的,即进行二次查询
字段 a     b     c     d
记录 1     7     4     3
     1     7     4     5
     3     5     4     3
     1     2     3     4
当DBLookupComboBox_a=1时,dbgrid中有二条记录,在DBLookupComboBox_b中只出现7和2,若DBLookupComboBox_b选7,则DBLookupComboBox_c中只出现4,选4后DBLookupComboBox_d出现3和5,选择其中一个后可确定某条记录
类似于excel的自动筛选功能,用户可对任一个DBLookupComboBox先进行选择
请各位大侠指点小弟

解决方案 »

  1.   

    我看你好象是先通过a再通过b这样有顺查询.
    那你把a的结果集去掉重复项添加到b中.把b的结果集去掉重复添加到c 中
    以此类推嘛.
      

  2.   

    DBLookupComboBox_a选择后,在DBLookupComboBox_a的onchange或onexit事件中,或者DBLookupComboBox_b的onEnter事件中,对DBLookupComboBox_b相应的数据集进行筛选。依次类推
      

  3.   

    DBLookupComboBox_a选择后过滤数据集
    DBLookupComboBox_b的onEnter事件中重新指定过滤后的数据集,依次类推
      

  4.   

    可是用户不一定会遵从DBLookupComboBox_a,DBLookupComboBox_b的顺序,他可以随便以任意一个DBLookupComboBox开始查询,其他的DBLookupComboBox的内容是根据前面查询出来的数据集,再进行二次查询.
    现在的问题是,如何判断用户会最先指定多个条件中第i个条件,然后其他的DBLookupComboBox在根据DBLookupComboBox_i查询出来的数据集,进行二次查询
    请各位高手给个思路,或者是贴点能够代表该思路的源码,这个问题困扰我好多天了,真是急啊!