DBGrid中一条记录(主表,数据集ADOQuery1)对应一张纸打印  
若对应从表有记录时,接着新页打印.  
请问当我要打印多条记录时,怎样控制从表数据集(ADOQuery2)与主表记录对应.  
我在QuickRep上放置了:  
  PageHeader        -- 标题    QrLabel1  
       DetailBand     -- 主表字段  QrDBText...  
       GroupHeader   -- 从表标题  QrLabel2  
       SubDetailBand     -- 从表字段QrDBText...  
谢谢!  

解决方案 »

  1.   

    不好意思啊楼主,上面的消息我发错了!:)
    你可以先打印主表,然后判断是否从表有数据,如果有的话就NEW PAGE接着打印。
      

  2.   

    DBGridEh直接支持打印
    所以可以这样:
      1、    把主表和从表 用一个query表达出来(嵌套sql语句)
      2、    用dbgrideh显示query
      3、    用dbgrideh支持打印的控件来打印就可以了
      

  3.   

    谢谢楼上各位得支持!To DelUser(探索者),rikky(读书、心知、生活), zhangzh4072(zhang)现在我基本实现我的打印功能,是在QuickRep的OnStartPage事件中通过读取主表数据集(ADOQuery1)字段的值,作为从表数据集(ADOQuery2)筛选数据的依据.
    但是在判断从表数据集有无数据,从而控制是否打印标题和GroupHeader时出现问题.
    第一次从DBGrid选数据打印预览时,从表数据没显示;但是关闭预览窗体后重新从DBGrid选同样数据打印预览时,显示正常(有数据显示);
    而且当我用从表数据集是否为空判断是否打印标题和GroupHeader时没效果.
    (另外:主表字段多,要换另一种打印控件很麻烦.)