社区
Delphi
帖子详情
澄清:如果TQUICKREP的DATASET是TQUERY(not TTABlE),如何用TQRExpr算出某一页某一列数的合计数,关键在于TQuery与TQUICKREP不在同一个Form
MOZ
2000-03-23 02:03:00
...全文
236
7
打赏
收藏
澄清:如果TQUICKREP的DATASET是TQUERY(not TTABlE),如何用TQRExpr算出某一页某一列数的合计数,关键在于TQuery与TQUICKREP不在同一个Form
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Qing_li
2001-04-13
打赏
举报
回复
如果我是一个临时的dataset呢?该如何处理?
renzhm
2001-04-13
打赏
举报
回复
动态设置报表控件的属性:
..执行查询:
str_sql:='select 姓名,年龄,性别,班 from table ';
Query.Open;//我要简单写啦!在另一单元如:DMC
------------------------------------------------
在打印按钮事件里写:
with Qrp do
begin
dateset:=DMC.Query;
QRDBText1.dateset:=DMC.Query;
QRDBText1.datefield:='姓名'
QRDBText2.dateset:=DMC.Query;
QRDBText2.datefield:='年龄'
QRDBText3.dateset:=DMC.Query;
QRDBText3.datefield:='性别'
QRDBText4.dateset:=DMC.Query;
QRDBText4.datefield:='班'
preview;//or print;
end;
你也可以设置其他报表控件的属性:
QRLabel.Caption:='';
QRExpr.expression:='sum([要合计的字段])';
某一页某一列数的合计数的实现:
在PageFooter带中放一个QRExp控件,指定要合计的字段,
记住:一定要把它的resetafterprint属性值设为true;
贴子该了结了吧?
catthunder
2001-02-21
打赏
举报
回复
自己手算啊,然后在一个TQRLabel中显示出来
app2001
2001-02-21
打赏
举报
回复
在不在同一单元很重要吗?楼上的几位老兄们的办法都很可行的呀
bpc
2000-03-24
打赏
举报
回复
你可以指定你的QUICKREP的DATASET属性为类似
FORM1.QEURY1的形式,然后再使用SUM函数对
某一列(某一个字段)求和。(sum(FORM1.QEURY1.字段名))
liu
2000-03-24
打赏
举报
回复
你可以在程序的实现部分加上uses FormX;FormX为TQuery所在的窗体。然后将TQuickRep的DateSet属性设为FormX.Query1.最后用TQRExpr进行计算。
dengdeng
2000-03-24
打赏
举报
回复
在TQuickrep所在的单元中Use含TQuery的单元。这样Quickrep的DataSet属性
中Query控件就可见。
利用
Quick
Report创建报表
一、 简单了解各控件功能 以下是各控件最简单的使用功能,其他功能依具体的实现而介绍。 T
quick
Rep:带有坐标,作为其他报表控件(如
TQ
RBand)的容器,它的Band属性可以自动添加各种类型的
TQ
RBand.
TQ
RLabel:打印静态的文本(即不是根据
数
据库值来改变的),作用象Tlabel , Caption的内容就打印出来的内容。
TQ
RDBText:打印
数
据库字段值,一个值一行。作用象TDBText.把它的
DataSet
, DataField分别赋予
Table
1,Company时,将打印
Table
1所指向的表的Company字段的内容。
TQ
RSysData:打印系统信息如时间,页码,报表头等。
TQ
RMemo:非常象
TQ
RLabel,只是它可以打印多行,也是打印静态
数
据。
TQ
RRichText:打印RichText格式,能够连接到一个
Form
上的RichEdit控件并打印它的内容,不过必须是32位版本的。
TQ
RShape:打印方框、圆和垂直、水平线。
TQ
RImage:打印静态的图片,包括(BMP,WMF,ICON).
TQ
RDBImage:从
数
据库接收图片。
TQ
RBand:用来确定报表的不同位置应该显示什么内容,它上面可以放控件(参见二)。
TQ
RGoups:Groups可以不限级别的组操作。当你连接了几个
dataset
s到报表时可以通过Groups成组的对
dataset
进行操作。 二、 报表的控件摆放循序 出现在所有页上的标题(PageHeader) 标题(只有首页才有)(Title) 所有列的标题(ColumnHeader) 记录的内容,一个字段
一列
(Detail) 摘要(最后
一页
才有)(Summary) 出现在所有页上的页脚(PageFooter) 这些根据设置不同的Band(不是控件,一种类型而已,在其上面可以放其他控件)来定位。总共有六种Band。 三、 一个简单的例子 这个例子制作打印一张表的部分字段名及该字段
数
据内容的报表。 建立一个新project 放一个T
Table
到
Form
上,DatabaseName设为BCDEMOS,
Table
Name指向Customer表,Active设为true. 放一个T
quick
Rep控件在
Form
上,
DataSet
属性为
Table
1.(即要显示上边
Table
1所指向的表的内)。 展开T
quick
Rep的Bands属性,设HasDetail为true,这时自动增加个detail band(一个
TQ
RBand控件,故也可以直接放一个
TQ
RBand控件,BandType属性设为detail就行了)。 放一个
TQ
RDBText控件在detail band上面,设
DataSet
指向
Table
1,DataField指向Company。第四步是设置在报表的什么位置显示什么类型的
数
据,而
TQ
RDBText则具体实现。 选T
quick
Rep控件,按右键,选择”Preview”预览,应该看到表Customer的字段Company的所有字段值。 到这一个简单的例子就OK了,程序实现预览及利用
TQ
RuickRep自带的打印功能只须在
Form
中加一个按钮,它的OnClick事件为:
Quick
Rep1->Preview(); 四、一个使用
TQ
RGoups、
TQ
RE
xpr
控件的报表 该报表先列出州名,接着列出该州的所有公司及公司总
数
,一个州列完后空一行(groups中断),列出新的州名,接着列新州下的所有公司,没有填州名的公司统
一列
在Unknown state下面。 建立一个新project。 放一个
Tq
uery
在T
quick
rep上,其SQL属性为:select * from customer order by State,Company;(即根据州、公司排序),DatabaseName为BCDMome,Active为true. 放一个T
quick
Rep控件在
Form
1上,
DataSet
为
Tq
uery
1. 放一个
TQ
RGroups控件在T
quick
Rep上,这时默认为group header。(任何时候当group中断或更高级别的group中断,这个header都将打印出来,如果有表达式,根据表达式的值显示内容。)接着添加一个group footer band,添加时,放一个
TQ
RBand控件在报表上,连接
TQ
RGroups的FooterBand属性到这个QRBand,这时这个新建的
TQ
RBand就成为Group Footer. (
TQ
RGroup的一个重要特性是表达式,任何时候当表达式的值变时Group都将中断,如表达式是按省列出城市名,当前列出广东省,当属于该省的城市列完后,表达式值改变,这时Group中断,接着显示其他省的城市名。)
TQ
RGroups的E
xpr
ession属性设为Query1.State(根据不同的州来中断)。 放一个
TQ
RBand控件在报表上,BandType为rbDetail. 放一个
TQ
RE
xpr
控件在group header上面,其E
xpr
ession属性为:if(State<>’’,State,’Unknown state’),即如果公司的州没填,就归入Unknown state,否则归入State. 放三个
TQ
RDBText在Detail上,他们的
DataSet
都指向Query1,DataField分别指向Company,Contact,Phone. 在放一个
TQ
RE
xpr
控件在group Footer上面,E
xpr
ession为’Customers in’+State+’:’+Str(Count) 作用是在每个州的公司列完后显示该州总共有多少个公司。 按右键选预览,应该看到不同的州名及其公司和公司公司总
数
。 五、
Quick
Report 条件式列印 可以直接在 T
Quick
Report 的 OnFilter 事件中写明条件判断,OnFilter事件的引
数
中有一个以 var 宣告的 PrintRecord 布林型态变
数
,将这个变
数
设为 True(预设值), 该笔记录便会印出;反之, 设为False,就不印出这笔记录. procedure T
Form
1.
Quick
Report1Filter(var PrintRecord: Boolean); begin PrintRecord := False; if Your
Table
.FieldByName(‘WantedField‘).AsInteger <= 100 then Exit; if Your
Table
.FieldByName(‘WantedField‘).AsInteger >= 150 then Exit; PrintRecord := True;
T
Quick
Rep报表打印
使用T
Quick
Rep组件输出报表,简单实例.
Quick
Rpt Bug 尾页打印页脚错误修正
Quick
Rpt Bug 尾页打印页脚错误修正
Quick
report Bug { ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::
Quick
Report 4.0 for Delphi and C++Builder :: :: :: ::
QUICK
RPT.PAS - MAIN UNIT :: :: :: :: Copyright (c) 2007 QBS Software :: :: All Rights Reserved :: :: :: :: web: http://www.qusoft.com :: :: V4.00 :: :: 12/12/2003 add composite export :: :: 14/12/2003 add frames export :: :: 20/12/2003 Transparent property for band :: :: 20/12/2003 BackgroundImage property for T
Quick
rep :: :: 03/03/04 Orientation bug after setup dialog fixed :: :: 12/12/06 composite rep duplex fixed :: :: 27/02/07 sumary band position in multicolumn fix :: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: } {$I QRDEFS.INC} {$define notLLIONPDF} {$define BDE
TABLE
S} {$define no
tQ
RXDOC} unit
Quick
Rpt;
Delphi5
数
据库开发技术
Delphi是一种非常优秀的可视化程序开发语言,Delphi 5 基于Windows 95/98/NT,采用高度结构化的Object Pascal语言,具有结构清晰、编译迅速等特点。它强大的可扩展
数
据库功能更赢得了无
数
数
据库开发人员的青睐。本书详细介绍了Delphi 5 所增加的强大的
数
据库编程工具,例如ADO组件、IBX组件和
数
据模块设计窗口。本书由浅入深,系统地介绍了如何利用Delphi 5 强大的开发工具进行
数
据库应用程序的开发,并结
合
每一部分的内容,列举了大量实例,以便于读者掌握。本书适用于从事
数
据库应用程序开发的广大技术人员以及作为各院校师生的学习参考。 ---------------------------------------------目 录前言第1章 Delphi 5.0 简介 11.1 Delphi 5.0 的新特点 11.1.1 集成开发环境(IDE)的改进 11.1.2 新的语言扩充 31.1.3
数
据库的应用开发能力增强 41.1.4 其他方面的改进 41.2 Delphi 5.0 的集成开发环境 41.2.1 主窗口 51.2.2 代码编辑器 131.2.3 窗体设计器 151.2.4 对象观察器 161.2.5 工程管理器 181.3 面向对象的Pascal语言 191.3.1 Object Pascal 的语言基础 191.3.2 Object Pascal的程序设计 271.4 小结 29第2章
数
据库应用程序开发基本概述 302.1
数
据库的基本概念 302.2
数
据存取 312.3
数
据库应用程序的开发步骤 312.4
数
据库应用开发能力的增强 322.5 小结 33第3章 Delphi 5.0 的
数
据库工具 343.1
数
据库工作平台 343.1.1 Database Desktop 353.1.2 设置工作目录及私有目录 353.1.3 创建
数
据表格 353.1.4
数
据表格的属性 363.1.5 在Database Desktop中创建SQL型
数
据表格 393.1.6 在Database Desktop中使用查询 403.2
数
据库引擎 423.3
数
据库资源管理器 423.4
数
据字典 453.5 SQL监视器 463.6 Datapump工具 463.7 小结 48第4章
数
据访问组件 494.1
数
据访问组件简介 504.2 T
Table
组件介绍 504.2.1
数
据集组件的基本知识 514.2.2 T
Table
组件的重要属性 524.2.3 T
table
组件的重要方法 584.2.4 T
table
组件的重要事件 694.2.5 举例说明 704.3
TQ
uery
组件介绍 714.3.1
TQ
uery
组件和T
Table
组件的比较 724.3.2
TQ
uery
组件的重要属性 724.3.3
TQ
uery
组件的重要方法 754.4 TstoredProc组件介绍 774.4.1 TstoredProc组件的重要属性 774.4.2 TstoredProc组件的重要方法 784.4.3 利用TstoredProc组件实现存储过程 794.5 TDataSource组件介绍 814.5.1 TDataSource组件的重要属性 814.5.2 TDataSource组件的重要方法 824.5.3 TDataSource组件的重要事件 834.5.4 应用程序中建立TDataSource组件的基本步骤 844.6 Tdatabase组件介绍 844.6.1 TDatabase 组件的重要属性 844.6.2 TDatabase 组件的重要方法 874.6.3 TDatabase 组件的重要事件 884.7 Tsession组件介绍 884.7.1 Tsession的重要属性 894.7.2 Tsession的重要方法 894.8 其他组件介绍 904.9
数
据访问组件的应用实例 914.10 ADO组件页介绍 994.10.1 ADO组件页概述 994.10.2 TADOConnection 1004.10.3 TADOCommand组件 1024.10.4 TADO
DataSet
组件 1044.10.5 TADO
Table
1064.11 小结 107第5章
数
据控制组件 1085.1
数
据控制组件简介 1085.2 TDBGrid组件介绍 1095.2.1 TDBGrid组件的重要属性 1105.2.2 TDBGrid组件的重要事件 1125.2.3 TDBGrid组件的应用举例 1135.3 TDBNavigator组件介绍 1185.3.1 TDBNavigator组件实现的主要功能 1185.3.2 TDBNavigator组件的重要属性 1195.3.3 TDBNav
Delphi
5,392
社区成员
262,732
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章