各位高手好,我现在正在做一个进销存软件,但做到报表时卡住了,因为我想做一些分类的主从明细报表,举个例:我有一个进货表,但我相应的分类可以有:按单据编码、按商品编号、按操作人、按供货商名称、按进货日期……等等之类。我现在就是要按到时客户点选的条件进行明细报表显示并可以进行打印,我看了很多资料了,讲到做主从明细报表时都是用Table的,但我的要求是把我指定条件的数据查询出来后进行分类,而用Query我就不知如何做那个明细报表?因为table中有mastersorce和masterField这两个来进行设置!而query没有!这个query又是如何制作主从明细报表的呢?
但用table时我以遇到一个问题,就是我一个数据表要按那几仲指定条件来分类,我按那分类的条件建了六个索引,问题就出现了,当我进行那个masterField设置时,因为存在多个索引,它硬要求我进行匹配,但我做主表的没有这个字段,如何匹配呢?就好似,当我按供货商名称时,我选两个表的offerNo字段来进行匹配,但那个明细的数据表提示我一定要对NoteNo进行匹配,而我那个供货商表没有NoteNo这个字段?我如何处理呢?真的无办法!所以向各位大侠请教了!~希望得到帮助!
但用table时我以遇到一个问题,就是我一个数据表要按那几仲指定条件来分类,我按那分类的条件建了六个索引,问题就出现了,当我进行那个masterField设置时,因为存在多个索引,它硬要求我进行匹配,但我做主表的没有这个字段,如何匹配呢?就好似,当我按供货商名称时,我选两个表的offerNo字段来进行匹配,但那个明细的数据表提示我一定要对NoteNo进行匹配,而我那个供货商表没有NoteNo这个字段?我如何处理呢?真的无办法!所以向各位大侠请教了!~希望得到帮助!
CRYSTAL REPORT比较适合做分组类型的报表
不要用table ,用两个query 或者adoquery,再加上datasource
设置好两个query的关联关系。
---------
也可以只用一个query来做.比如你的的主表是rcv ,从表是rcv_d
关联关系是rcv.rcvno=rcv_d.rcvno
则query.sql.text:=
'select a.*,b.* from rcv a left join rcv_d b on a.rcvno=b.rcvno where 1=1'
PS 我是用这种方法.
--------
至于你说的索引...我都没建索引,
如果客户选择按日期排列,你就在程序中
加query.sql.add('order by a.date'),其它同.
如果客户只要单号为'X001'的进货单
加query.sql.add('and a.rcvno=''X001''')
-------
每个level关联一个cxgriddbtableview,分别关联master和details数据,用到两个query,两个datasource,点击master后,details也会显示出来
http://soft.56kc.com/FileDown.aspx?FID=202
主集有对应的TDataSource就行了
要按字段分类也不一定要全都建索引啊
你什么数据库?
用数据集组件的方法也一样的