如何用fastreport或者QuickReport实现在一张纸上并排打印两张表,这两张表又是不同的数据源?很急

new_siberia 2003-04-09 02:47:21
就是这个意思:
table1.a table1.b table2.a table2.b
1 1 1 1
2 2 2 2
这两个表的长度可不一样长哦

另外,我要为上面的表画上格子,如何让没有数据的地方也有格子?让整个表成为一个完整的表?

很急,100分送出!!
...全文
238 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Spring414 2003-09-17
  • 打赏
  • 举报
回复

RecNo是指表的当前行.

在打印前需要先判断那个表的记录最多,假设qry1最多,QuickRep1的DataSet指定记录最多的那个表qry1,
在打印时qry1的记录行会自动往下移动,这个时候在qry1的AfterScroll里用程序移动其他表的记录行.

如果下面的语句不写,则记录少的表的最后一行会重复打印.
if(qry2->RecordCount < qry1->RecNo)
Value = "";

在表qry1的AfterScroll事件里写下如下代码:
if(qry1->RecordCount >= qry2->RecordCount)
if(qry1->RecNo <= qry2->RecordCount)
qry2->RecNo = qry1->RecNo;
当qry2的当前行小于qry1的当前行,就让qry2的RecNo=qry1的RecNo,当qry2的当前行等于qry1的行总数时不移动.


三个表就是判断复杂点,不明白可以在研究!!
Spring414 2003-05-27
  • 打赏
  • 举报
回复
还忘了重要的一点。

在打印按钮里判断:
if(qry1->RecordCount >= qry2->RecordCount)
QuickRep1->DataSet = qry1;
else
QuickRep1->DataSet = qry2;
Spring414 2003-05-27
  • 打赏
  • 举报
回复
这个我以前解决过。

在表qry1的AfterScroll事件里写下如下代码:
if(qry1->RecordCount >= qry2->RecordCount)
if(qry1->RecNo <= qry2->RecordCount)
qry2->RecNo = qry1->RecNo;

在表qry2的AfterScroll事件里写下如下代码:
if(qry2->RecordCount >= qry1->RecordCount)
if(qry2->RecNo <= qry1->RecordCount)
qry1->RecNo = qry2->RecNo;

在表qry1的字段的OnPrint事件里写如下代码:
if(qry1->RecordCount < qry2->RecNo)
Value = "";

在表qry2的字段的OnPrint事件里写如下代码:
if(qry2->RecordCount < qry1->RecNo)
Value = "";


这样就OK了。
PALADIN2 2003-05-25
  • 打赏
  • 举报
回复
UP
wshxian18 2003-04-09
  • 打赏
  • 举报
回复
你现在报表里面设置变量 给变量赋值吗
然后动态的连接数据预源就是了吗
可以先判断那个表的数据多就连接那个表
表少的那部分就让它为空吗
先说一声,速度可能是不快。
new_siberia 2003-04-09
  • 打赏
  • 举报
回复
up
big_welley 2003-04-09
  • 打赏
  • 举报
回复
做视图试试
软件功能   fastreport5 源码是一款可以帮助您在网页设计上插入报的工具,可以结合Visual Basic 编辑工具使用,方便您在web上添加报打印   在打印期间,可以使用fastreport5 模板将各种来源的数据合并在一起以完成打印作业。 可以将多个数据源连结到一个对象中。 在大多数情况下,模板上的对象均使用单个数据源来确定源的内容。   然而,有时您可能希望将来自两个或多个数据源的信息放入一个web、编码器或文本对象中。 通过将其他数据源附加到对象,您可以使用fastreport5将它们结合起来,以便将它们作为一个字符串输出(这有时称为“字符串连结”)。   名称: 显示数据源的名称(如果指定了数据源)。   打开fastreport5更改数据源名称向导,用于指定所选数据源的唯一名称。 通过命名数据源,您可以将所选数据源的内容与其他数据源共享或参考 VB 脚本中的数据源。   FastReport也可在IB_Objects下工作。IB_Objects是用于Interbase数据库管理系统(DBMS)的功能强大且使用广泛的库。   类型: 显示所选数据源数据源类型。   打开更改数据源类型向导,用于指定将在所选数据源打印数据源。 软件特色   开发WEB应用系统通常都会遇到报打印问题。简单应用可利用IE的页面打印功能,利用HTML标签控制格式来实现。 但复杂的业务型应用系统,报不仅是组成应用的重要部分,还常常是相当复杂的。很多应用系统都要求提供。自定义报的功能——即客户可以自行设计、修改报。   在C/S结构系统中,报问题有很多成熟的解决方法。如DELPHI开发工具不仅自带有报控件,还可以利用第三方控件来实现快速灵活的报制作和打印,其中有名的控件是FR-Software & A.Tzyganenko 的FastReportFastReport提供了能与DELPHI无缝集成的从设计到打印的完整控件包,提供的设计界面友好灵活,对于开发可让用户自定义报的C/S应用来说,是一种很好的解决方式。   FastReport是非常强大的报控件,相比QuickReportReportBuilder更加灵活,又非常小巧,速度快。VCL版本支持Borland Delphi 2-6 and Borland C++Builder 1-6。CLX版本支持Delphi和Kylix。

5,379

社区成员

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

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