FastReport 求助,这种报表应该怎么样作呢? 分不够再加。(200分)

  • 主题发起人 主题发起人 JasonLaw
  • 开始时间 开始时间
J

JasonLaw

Unregistered / Unconfirmed
GUEST, unregistred user!
表 A (主表)
物品ID 客户名称 物品名称 运费 地点
1 乔林 1174纸张 200 广州
2 宏发 石墨 300 堔圳
......
表 B (从表) 其中每一个物品ID 对应的 A B C ...种类。在该物品中是唯一的,即 物品ID 不可参会出现 有 两个或以上的 A 种类
物品ID 种类 规格 大小 色号 ......
1 A GDG 120 1C+3C ......
1 B DDC 114 2C+2C ......
1 C CCC 130 2C+0C ......
......
2 A DCC 50 1C+0 ......
2 B DII 15 4C+1C ......
2 C D2C 75 2C+2C
......

表 C (从表) 此名的种类与物品ID 表B对应。
物品ID 种类 生产日期 批号 说明
1 A 2006-1-1 20060101 AAAAAAAAAAAAAAAAAAAAA
1 A 2006-1-2 20060102 BBBBBBBBBBBBBBBBBBBBB
1 B 2006-1-3 20060103 CCCCCCCCCCCCCCCCCCCCC
1 B 2006-1-4 20060104 DDDDDDDDDDDDDDDDDDDDD
1 C 2006-1-4 20060104 EEEEEEEEEEEEEEEEEEEEE
。。。。。
2 A 2006-2-1 20060201
。。。。。

表D (从表) 与表C 类似
物品ID 种类 原料 数量
1 A 麻 300
1 A 油 25
1 A 纸浆 100
1 B 石料 20
1 B 碳 30
1 C 碳精 80
。。。。。。。
2 A 油 60
。。。。。。
我想通过 fastreport 得到以下的报表
┌──────────────────────────────────┐
│ 报 表 │
│ │
│ 客户名称:乔林 物品名称:1174纸张 物品ID:1 │
│ ───────────────────────────────── │
│ 种类(A): GDG 种类(B): DDC │
│ 大 小: 120 大 小: 114 │
│ 色 号: 1C+3C 色 号: 2C+2C │
│ ...... ...... │
│ ───────────────────────────────── │
│ (A) 2006-1-1 20060101 AAAAAAAAAAAAAAAAAAAAA │
│ (A) 2006-1-2 20060102 BBBBBBBBBBBBBBBBBBBBB │
│ (B) 2006-1-3 20060103 CCCCCCCCCCCCCCCCCCCCC │
│ (B) 2006-1-4 20060104 DDDDDDDDDDDDDDDDDDDDD │
│ ───────────────────────────────── │
│ (A) 麻 300 │
│ (A) 油 25 │
│ (A) 纸浆 100 │
│ (B) 石料 20 │
│ (B) 碳 30 │
│ ───────────────────────────────── │
│ 运费:200 地点:广州 │
│ 页 1 │
└──────────────────────────────────┘

┌──────────────────────────────────┐
│ 报 表 │
│ │
│ 客户名称:乔林 物品名称:1174纸张 物品ID:1 │
│ ───────────────────────────────── │
│ 种类(C): CCC 种类( ): ... │
│ 大 小: 130 大 小: ... │
│ 色 号: 2C+0C 色 号: ... │
│ ...... ...... │
│ ───────────────────────────────── │
│ (C) 2006-1-4 20060104 EEEEEEEEEEEEEEEEEEEEE │
│ ───────────────────────────────── │
│ (C) 碳精 80 │
│ ───────────────────────────────── │
│ 运费:200 地点:广州 │
│ 页 2 │
└──────────────────────────────────┘
 
在 FastReport 里放个MEMO里设置个变量.[AKEY]然后在getvalue 对变量赋值.
if name = 'AKEY' then
value := '.....';
就可以了.我就是这样做的.我做的有些比你这还复杂的....
 
看看fastreport的demo程序,应该可以吧。就是分组打印罢了
 
晕。看了很多便了。
可能本人愚钝吧。。。还是找不到方法。
当然。。本次提问,不一定非要用 FASTREPORT 来完成。
如果能完成,有其它报表控件都可以。
 
用Repormachine吧!应该可以实现你的报表
 
同时提供几个数据集就可以了,然后在程序中把对应关系控制好
 
如果报表过于复杂,请多从数据源想办法。
 
不是很复杂。。。
看看 fastreport 里面的攻例子就可以搞定了。
我想,你应该是用多了 ADOQuery 组件了吧。
用 ADOTable就可以轻松实现主从表问题。
 
接受答案了.
 
后退
顶部