fastreport2.5的主细表问题,用ADOQuery如何实现?

janb 2003-09-11 11:39:57
看到Demo里有一个主细表的例子,但是用的Table的MastField。ADOQuery不支持MastField,刚接触FR2.5,两天了都无从下手。
实例描述如下:
ADOQuery_Class:取得班级信息
ADOQuery_Student:取得学生信息
在Band1中显示班级信息
在Band2中根据学生班级显示学生信息
显示格式大体如下:

年级信息:(mastband)
一年级
学生信息:(DetailBand)
张三
李四
……
年级信息:(mastband)
二年级
学生信息:(DetailBand)
赵五
陈六
……
...全文
82 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
janb 2003-09-18
  • 打赏
  • 举报
回复
散分
janb 2003-09-18
  • 打赏
  • 举报
回复
ok
janb 2003-09-18
  • 打赏
  • 举报
回复
theone_jxm()
ADOQuery 可以设置MasterFields 吗?好像没有!
fyje(云中仙)
你这个方法很好,我会试试的。
不过我已经用笨办法解决了。
我在MastDdata中链接班级信息
在DetailData band中链接学生信息
在DetailData Band的onbeforeprint事件中这样写
if [ADOQuery_Student.“ClassNo”]<>[ADOQuery_CLass."ClassNo"] then
Band2.visible:=False;
这样很笨但能用。
谢谢大家,散分!
  • 打赏
  • 举报
回复
1:先设置好主表ADO与从表ADO的关联。如果主从表的ADO没有关联好,则每个厂家下都会打印出
所有产品。
主从表ADO的关联是这样的:
设置从表的DataSource属性为与主表相連的DataSource控件,
设置从表的MasterFields属性为与主表相关联的字段。

设置好后可用二个DBGrid查看一相主从表是否关联。

2:如果主从表设置好,则报表中可如此设置即可。
在Page1中放置一个MasterData,其数据源选择为主表;
再放置一个DetailData,其数据源选择为主表,在其上放置主表字段的frMemoView,如'厂家';
再放置一个SubDetailData,其数据源选择为从表,在其上放置从表字段的frMemoView,如'产品';

Preview,OK!
aiunong 2003-09-12
  • 打赏
  • 举报
回复
study
up
fyje 2003-09-11
  • 打赏
  • 举报
回复
设置细表的datasource为主表对应的datasource,就可以了,
如:主表为AQM,细表为AqD
aqD的sql语句要带where语句,参数根主表中的关键字段对应

在fasterReport中,
把这两个表,添加到数据字典中
在模板上
添加一个band为master data band,对应Aqm
添加一个band为detail data band,对应AqD
,这样就可以了

jaunmai 2003-09-11
  • 打赏
  • 举报
回复
1.一個ADOQuery導出全部信息,
2.分組列印.

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧