TClientDataSet 创建一个 FieldKind 等于 LookUp 的字段
LookupDataSet :一个 TableKeyFields : xxx;MMM (xxx,MMM 分别为两个字段)
LookupKeyFields:aaa;bbb 也是两个字段 
LookupResultField:ccc    返回的字段
查询条件xxx=aaa mmm=bbb 时 返回 ccc 
问题,双点DBGrid 中 ccc 字段时 出现错误  ‘cds...:Field ‘xxx;MMM ’not found’字样错误。请问多字段匹配查找应注意什么?

解决方案 »

  1.   

    晚上 试了一下 TTable 控件。也有这个问题。
    创建两个 TTable , Table_A  Table_B ;
    Table_A 连接的数据库表 中 有两个字段 于Table_B 连接的数据库表中两个字段相同。在Table_A 中建立一个 fkLookup 字段 KKK。 
    通过上面相同两个字段的匹配 。得到Table_B 中的特定字段。 程序启动没问题。当双点Grid 中的 kkk时 出现错误。 “Table_a中‘xxx;ddd’没有找到”。其中xxx,ddd是用来做匹配的字段。【;】是多字段匹配时用的。一个字段匹配没问题,点击时出现下拉列表。两个怎么就不行了呢。
      

  2.   

    多字段匹配查找可以直接查找现成的字段,在sql语句中写就可以了 如select  字段1,字段2,。。from talbe where 字段1=‘xxxxxx’ and 字段2=‘?????’ ...
      

  3.   

    TO:  CloneCenter(复制中心)
    谢谢了啊!不知道搞的怎么样了!?
      

  4.   

    首先就在[基本表]與[交易表]中把那多個字段組合起來:
    select (Field1+Field2) as FieldKey, Field1, Field2, Field3 from Table1 where ...上述這種方法會加大數據傳輸率,最好是在 TClientDataSet 中新增字段,動態把它們組合起來。
      

  5.   

    我感觉问题再DBGrid中。
    双点DBGrid 中 ccc 字段时 出现错误  ‘cds...:Field ‘xxx;MMM ’not found’字样错误双点的时候cds 把 xxx;MMM 当成一个字段名查找了! 不知道在那里设置
      

  6.   

    To:hellolongbin(一个人[终不似 少年游]
    DBGrid 中的双击没有写代码。
      

  7.   

    双击DBGRID事件时首先查询以下注意:select * from xxx表,如果不这样写你用的字段可能DBGRID没用,但读字段时还有其他字段,结果会出现一些字段找不到!
    你检查下!
      

  8.   

    FieldKind 等于 LookUp 的字段
    如果用一个 字段做关联,下拉时有符合条件的内容。
    但关联时用俩字段xxx;MMM ,程序打开的时候结果是对的,但点这个LOOKUP 字段时出现
     Field ‘xxx;MMM' 找不倒。
    把 xxx;MMM 做为一个字段去 ,查找了。怎么处理。
      

  9.   

    不知楼上的问题有没有解决?
    我也碰到同样的问题,但不是在双击DBGRID的时候发生,是在ADOQUERY open时发生,不知什么原因?以前也使用过这种方法,但没有发生问题!
      

  10.   

    楼主的问题解决了吗?我遇到和你一模一样的问题,郁闷.....
    看来只有用PickList了