各位高手,我有一个比较急的问题向大家请教,那就是Delphi中的QR报表制作主从报表,以前我用BDE中的Table和Query制作都无问题!很容易,但我现在的数据库因为改成了SQL,所以数据库连接方面就用ADOQuery的,但我的主从报表变得无效了,我得不到主从报表,而我按BDE的那种做法,报表只得到一条记录显示出来,这是为什么呢?有哪一位高手指点一下呢?要具体用到哪些QR控件,具体的参数如何设置,再就是要注意什么问题呢?希望得到大家的支持!我的做法是这样的:ADOQuery1做主表,DataSource1的DataSet设ADOQuery1,ADOQUery2为从表,ADOQuery2的DataSource设为DataSource1,Paramts设为NoteNO,而ADOQUery1的SQL语句是:Select * from NoteTable,ADOQuery2的SQL语句是:Select * from DataTable where NoteNo=:NoteNo,我再一个Band的BandType是rbGoodsHeader来显示主表记录,用一个SubDetail来显示从表的数据!而我的SubDetail的HeadBand设为rbGoodsHeader的Band,而我的Band的LinkBand就是SubDetail,希望高手指正,最好就是讲出解决方法,不胜感激!

解决方案 »

  1.   

    如果只有一条记录显示出来,可能QR报表的数据源(datasource)没有设置
      

  2.   

    经过自己的摸索做出来了,就是主表那里ADOQuery要用到那个AfterScroll事件中赋值从表参数,再有一点就是在从表的LockType的值要设为ltBatchOptimistic就得了!QR上也要进行相通的Band设置,整张报表的DataSet要设成主表,显示明细的Band的DataSet就要设为从表,而主项的Band也要设为主表!就是这样设置就可以得到你想要的ADOQuery报表!
      

  3.   

    接楼上:(我也碰到楼主这样的问题)
    主项的BAND设为主表看不明白
    另外,我在主表的afterscroll事件中写的代码根本没有执行