FastReport中如何打印主从报表

quake3 2006-08-18 06:30:51
DELPHI7 + FASTREPORT 3.0.7 + ACCESS2003
主表user: id name sex age
从表name: id userid xueke score
id和userid对应是一对多的关系

想做一个报表: 王晓霞 女 23
数学 73
语文 80
........
李青艳 女 24
数学 80
.......
就这样一个报表
加一个masterdata band,数据来源设为user表,上面放上name,sex,age
再加一个detaildata band,数据来源设为name表,放上xueke,score
怎样来建立主从关系??
重点是在哪里建立,FastReport中还是Delphi中。告诉我怎么关系两个表
(不要采用分组的方法)

FastReport中带的例子也看过了,不过看不出来是在哪里建立关联的。
...全文
750 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
luozhaoliang 2006-10-23
  • 打赏
  • 举报
回复
看了fastreport 3.15的demo中,没有看到有设置主从关系,只是联接到一个数据库dbe组件,却能产生出主从表,就是为什么呢???
cqyyb_cqyybuf 2006-09-15
  • 打赏
  • 举报
回复
这个问题主要是先把dataset的关系建好,就可以了,,有问题加我331489143
hsmserver 2006-09-15
  • 打赏
  • 举报
回复
最简单的方式就是直接连DataSet
蜀天下 2006-09-15
  • 打赏
  • 举报
回复
分组问题解决了,还有一个问题,表单没有关联
ADOQuery1=select 配方单号 from clientcb
ADOQuery2=select * from clientno where 配方单号='''+ADOQuery1.fieldbyname('配方单号').AsString+''
始终只显示ADOQuery2相同的的一条记录?
AOCOC 2006-09-14
  • 打赏
  • 举报
回复
用子报表可行啊。
蜀天下 2006-09-14
  • 打赏
  • 举报
回复
有没有朋友,解决这个问题,我也想请教一下:
table1:单号(无重复),单别、日期,部门等,
table2:单号(有重复),序号(同一单号,有多个序号),品号,品名等,
frxDBDataset1联ADOQuery1
frxDBDataset2联ADOQuery2
我要这样的结果:
在frxReport1页头显示table1的一条记录,
在frxReport1页身显示table2对table1单号的所有记录,也就是说相对应table2单号相对应table1单号的所有记录,
在frxReport1怎样设计?
MasterData1联frxDBDataset1
DetailData1联frxDBDataset2
这样MasterData1中显示了ADOQuery1后,在DetailData1中就显示了所有ADOQuery2,
这两个根本没有关联,还,我想一页在MasterData1中只显示一条ADOQuery1记录,DetailData1中显示相关联的ADOQuery2中的记录
samcrm 2006-09-14
  • 打赏
  • 举报
回复
主从表关系在Delphi里设置:
ADOQuery1用来连接主表:select * from user
ADOQuery2用来连接从表:select * from name where id=:id
放一个datasource1连接到ADOQuery1,设置ADOQuery2的datasource为datasource1。

报表设置:
放两个frxDBDataSet,分别设置dataset属性为ADOQuery1、ADOQuery2
在fastreport里,放置一个主项数据band用来放主表的字段,放置一个细项数据band用来放从表字段。

可以了。
蜀天下 2006-09-14
  • 打赏
  • 举报
回复
楼上了朋友,能不能给说祥细点。谢谢
wzllin 2006-08-22
  • 打赏
  • 举报
回复
放一个fastreport 2个frxDBDataset,其中一个连到主表的query ,两一个连到细表的table
query ->Close();
query ->SQL->Clear();
query ->SQL->Add("select * from user");
query ->Open();

table->Close();
table->TableName="name";
table->MasterSource=QS_table;
table->MasterFields="id";
table->Open();
yuehaiyang 2006-08-22
  • 打赏
  • 举报
回复
关注
llh6795 2006-08-22
  • 打赏
  • 举报
回复
主表和细表
如果字段遇到空值关联的时候容易出错
OO_is_just_P 2006-08-21
  • 打赏
  • 举报
回复
看一下FastReprt开发指南,这个是比较简单的应用了。
llh6795 2006-08-21
  • 打赏
  • 举报
回复
最近也准备作主从关联的表,准备学习一哈:)))
yuehaiyang 2006-08-21
  • 打赏
  • 举报
回复
学习下
xuancaoer 2006-08-21
  • 打赏
  • 举报
回复
mark
quake3 2006-08-20
  • 打赏
  • 举报
回复
主从报表到底如何制作??????????
qvcbui 2006-08-19
  • 打赏
  • 举报
回复
创意、自由、灵活,超强的报表功能,
独特的双数据源连接,全功能的表格组件!

http://www.anylib.com
quake3 2006-08-19
  • 打赏
  • 举报
回复
能不能不通过分组的方法,而是通过关联的方法来实现呢.
FigoZhu 2006-08-19
  • 打赏
  • 举报
回复
帮顶,接分。
WangZWang 2006-08-18
  • 打赏
  • 举报
回复
FastReport中建立,建立一个"分组头<groupHeader>"并在分组中设置“分组条件”
和建立“主项数据“.即可。
关于FastReport的说明 FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。 整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。 你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。 FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。 FastReport的历史 FastReport应运而生。当我在1997年开发一个工资系统时,我寻找周围的报表设计器能够让我非常简单地创建报表,而且能够在运行时编辑报表。可是,那时没有一个免费组件是我所需要的。这样,我就想创建自己的报表设计器,于是FastReport诞生了。 FastReport的基本思想来源于Windows版的“1S-Bookkeeping”6.0,因此报表的基本元素是包含多行文本的矩形。这些文本既包含标准文本又包含变量。变量,像数据字段,用方括号突出显示。报表生成器的第一个版本仅支持一个区域,但它允许创建多层报表。它还不是一个组件,只是一些单元的集合。 后来,在1998年,报表生成器变成一个完整的Delphi组件。在这时,它命名为“FastReport”,并提供增强的函数功能。现在,FastReport是一个完整的,产品化的可视化报表生成器。它包含以下的特点: l 构建报表的生成器,也可以在运行时使用(重要的是用于最终用户报表的更改!)。 l 类似于MS Word的打印预览。 l 直接编译在Delphi EXE,不需要动态链接库。 l 支持JPEG(使用Delphi类库)和GIF(使用RX类库)。 l 拥有比QuickReport1执行更快速的性能。 l 简洁,纯Delphi代码,比QR3有更小的设计器。 l 类似QuickReportReportBuild的强大的区域导向报表生成器。 l 包含许多非常有用的组件:文本,线段,图像,图形,OLE对象,格式文本,RX Rich2.0,图表,图表,条形码,带阴影的文本。 l 报表生成的页数无限制。 l 多页报表;复合报表;子报表;分组;多栏报表主从报表;透视表;二次表; l 打印过程全控制;支持所有纸张尺寸; l TXT,RTF(用于图形),CSV,HTML(用于图像)输出转换器。 l 在报表预览查找文本。 l 附加的TfrDataStorage组件允许在运行时创建数据表和查询。这对于需要完全控制报告过程的最终用户报表特别有用。 l 报表生成的页面可以被修改。 l 内置的Pascal解释器可用于非常灵活的报告!语法加亮的支持是使用一个免费的软件库。 l 报表数据可以保存于Delphi的DFM文件,外部文件,数据表的BLOB字段或数据流。 l FastReport可以非常容易地用于创建你自己的报表组件,向导和函数类库。 l 报表的核心部分支持IBObject(不需要BDE)。 l 支持Interbase表达式(IBX). l 报表核心支持ActiveX Data Object(ADO)。 l 完善的数据管理函数(不需要BDE)。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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