现有表如下:
POM(PO主表):PONO,DATE
               001,2003/12/12
               002,2002/12/12
POC(PO从表):PONO,ITEM,COLOR,SIZE
               001,  铅笔,001,001
               001,  铅笔,002,001
               002,  铅笔,002,002BASEDATAM(基本资料主表):NO,NOTE
                        01, COLOR
                        02, SIZE
BASEDATAC(基本资料从表):NO,BAC_NO,NOTE
                        01 ,001,GREEN
                        01 ,002,RED
                        02,001,36
                        02,002,38   小弟想实现在DBGRID2 上显示"POC"表的内容,但"COLOR,SIZE"显示为"BASEDATAC.NOTE",且DBGRID2与'POM'的DBGRID1为主从关系.DBGRID1:
 当前记录为
   PONO,DATE
   001,2003/12/12DBGRID2: 
   PONO,ITEM,COLOR,SIZE
   001,  铅笔,GREED, 36
   001,  铅笔,RED,   36

解决方案 »

  1.   

    主表:select * from POM]
    从表:seelct PONO,ITEM,BASEDATAC.NOTE,SIZE from POC,BASEDATAM,BASEDATAC 
          where poc.COLOR=BASEDATAC.BAC_NO 
                and BASEDATAC.No = BASEDATAM.No
      

  2.   

    上边有误。主表:select * from POM
    从表:seelct PONO,ITEM,BASEDATAC.NOTE,SIZE from POC,BASEDATAM,BASEDATAC 
          where poc.COLOR=BASEDATAC.BAC_NO 
                and BASEDATAC.No = BASEDATAM.No and POC.PONO=:CurPono在主表的控件(Table或Query)的AfterScroll事件里写:
         从表控件.Active := false;
         从表控件.ParamsByName(':CurPono').asstring := 主表控件.Fieldvalues['Pono'];
         从表控件.Active := true;