社区
多媒体
帖子详情
谁有使用vb自带的报表设计器,进行打印的例子,给代码,马上给分,在线等
myhgyp
2002-12-17 04:30:08
我的email为:wss@jiaxin.org
...全文
131
2
打赏
收藏
谁有使用vb自带的报表设计器,进行打印的例子,给代码,马上给分,在线等
我的email为:wss@jiaxin.org
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dragon525
2002-12-17
打赏
举报
回复
首先介绍一下DataReport对象的几个常用属性。一是DataSource,用于设置一个数据源,通过该数据源,数据使用者被绑定到一个数据库;二是DataMember,从DataSource提供的几个数据成员中设置一个特定的数据成员;三是LeftMargin、RightMargin、TopMargin、BottomMargin等,用于指定报表的左右上下的页边距;四是Sections,即DataReport的报表标头、页标头、细节、页脚注、报表脚注5个区域,如果加上分组(可以有多层分组),则增加一对区域,即分组标头、分组脚注。其中DataSource一般是一个数据环境或是ADODB.Connection类型的变量,而DataMember则对应数据环境中的Command或是ADODB.RecordSet类型的变量,推荐使用数据环境及Command,页边界大家肯定都很清楚,下面我主要介绍以下Sections,这也是DataReport的精髓所在。
Sections是一个集合,您可以为每一个Section指定名称,也可以用其缺省的索引,从上到下依次为1、2…。每个Section均有Height和Visible属性,您可以在一定条件下使一个Section不可见。在Section中可以放置各种报表控件,其中RptLabel、RptImage、RptShape和RptLine可以放在任意的Section中,用于输出各种文字、图形及表格线;RptTextBox只能放在细节中,一般用于绑定输出DataMemeber提供的数据字段;RptFunction只能被放置在分组注脚中,用于输出使用各种内置函数计算出的合计、最大值、最小值、平均值、记数等等。上述报表控件中常用公共属性有用于控制位置及高度宽度的Top、Left、Height、Width和控制可见性的Visible;其中RptTextBox还有DataField、DataMember、DataFormat及Font属性;其他属性不再多说。
然后介绍一下我的使用经验。一是对想控制的报表控件按类型有规律的命名;二是用RptShape的矩形框做表格线框,比用RptLine画框省事多了,只有斜线才使用RptLine;三是报表标题及报表中的表头文字、日期及页码用RptLabel,其中Caption属性支持转义字符,%D为长格式日期,%d为短格式日期,%P为总页数,%p为当前页码;四是对固定报表在设计窗口直接将报表控件摆放到位,对于活报表,应首先考虑报表最大的情形,将足够的控件分别放置在不同区域,位置大小可以不必深究,然后在报表输出前用VBA代码对所有控件的属性进行调整,包括位置、高度、宽度、字体、对齐方式、显示格式、可见性等等,相应的对Section也应根据情况调整其高度和可见性。
最后用一个实例模板来说明其使用方法。
连接数据库
With 数据环境.rsCommand名
If .State = adStateOpen Then .Close
.Source = SQL语句
.Open 打开想输出的数据库数据项以便输出
End With
With 报表名
.DataSource=数据环境
.DataMember=Command名 这两行也可固定设好而不必每次设置
设置页表头部分(RpttLabel…为报表控件名)
.Sections(2).Controls("RptLabelPage").Caption = "共%P页第%p页"
.Sections(2).Controls("RptLabelDate").Caption = "打印日期:%D"
.Sections(3).Controls("RptLabel1").Left=…
…
设置细节部分(RptShapeX、RptTextBoxX为报表控件名)
.Sections(3).Controls("RptShape1").Left=…
.Sections(3).Controls("RptShape1").Top=…
.Sections(3).Controls("RptShape1").Height=…
.Sections(3).Controls("RptShape1").Width=…
.Sections(3).Controls("RptTextBox1").DataMember=Command名
.Sections(3).Controls("RptTextBox1").DataField=字段1
.Sections(3).Controls("RptTextBox1").Font.Name=…
…
.Sections(3).Controls("RptShapeN").Visible=False
.Sections(3).Controls("RptTextBoxN").Visible=False
…
. Sections(3).Height=计算出的或固定的细节高度
动态调整报表标题(RptLabelTitle为报表标签控件名)
.Sections(2). Controls("RptLabelTitle").Left=…
…
.Sections(2). Controls("RptLabelTitle").Alignment=…
…
调整完毕后
.Show 或 .PrintReport
End With
dragon525
2002-12-17
打赏
举报
回复
首先介绍一下DataReport对象的几个常用属性。一是DataSource,用于设置一个数据源,通过该数据源,数据使用者被绑定到一个数据库;二是DataMember,从DataSource提供的几个数据成员中设置一个特定的数据成员;三是LeftMargin、RightMargin、TopMargin、BottomMargin等,用于指定报表的左右上下的页边距;四是Sections,即DataReport的报表标头、页标头、细节、页脚注、报表脚注5个区域,如果加上分组(可以有多层分组),则增加一对区域,即分组标头、分组脚注。其中DataSource一般是一个数据环境或是ADODB.Connection类型的变量,而DataMember则对应数据环境中的Command或是ADODB.RecordSet类型的变量,推荐使用数据环境及Command,页边界大家肯定都很清楚,下面我主要介绍以下Sections,这也是DataReport的精髓所在。
Sections是一个集合,您可以为每一个Section指定名称,也可以用其缺省的索引,从上到下依次为1、2…。每个Section均有Height和Visible属性,您可以在一定条件下使一个Section不可见。在Section中可以放置各种报表控件,其中RptLabel、RptImage、RptShape和RptLine可以放在任意的Section中,用于输出各种文字、图形及表格线;RptTextBox只能放在细节中,一般用于绑定输出DataMemeber提供的数据字段;RptFunction只能被放置在分组注脚中,用于输出使用各种内置函数计算出的合计、最大值、最小值、平均值、记数等等。上述报表控件中常用公共属性有用于控制位置及高度宽度的Top、Left、Height、Width和控制可见性的Visible;其中RptTextBox还有DataField、DataMember、DataFormat及Font属性;其他属性不再多说。
然后介绍一下我的使用经验。一是对想控制的报表控件按类型有规律的命名;二是用RptShape的矩形框做表格线框,比用RptLine画框省事多了,只有斜线才使用RptLine;三是报表标题及报表中的表头文字、日期及页码用RptLabel,其中Caption属性支持转义字符,%D为长格式日期,%d为短格式日期,%P为总页数,%p为当前页码;四是对固定报表在设计窗口直接将报表控件摆放到位,对于活报表,应首先考虑报表最大的情形,将足够的控件分别放置在不同区域,位置大小可以不必深究,然后在报表输出前用VBA代码对所有控件的属性进行调整,包括位置、高度、宽度、字体、对齐方式、显示格式、可见性等等,相应的对Section也应根据情况调整其高度和可见性。
最后用一个实例模板来说明其使用方法。
连接数据库
With 数据环境.rsCommand名
If .State = adStateOpen Then .Close
.Source = SQL语句
.Open 打开想输出的数据库数据项以便输出
End With
With 报表名
.DataSource=数据环境
.DataMember=Command名 这两行也可固定设好而不必每次设置
设置页表头部分(RpttLabel…为报表控件名)
.Sections(2).Controls("RptLabelPage").Caption = "共%P页第%p页"
.Sections(2).Controls("RptLabelDate").Caption = "打印日期:%D"
.Sections(3).Controls("RptLabel1").Left=…
…
设置细节部分(RptShapeX、RptTextBoxX为报表控件名)
.Sections(3).Controls("RptShape1").Left=…
.Sections(3).Controls("RptShape1").Top=…
.Sections(3).Controls("RptShape1").Height=…
.Sections(3).Controls("RptShape1").Width=…
.Sections(3).Controls("RptTextBox1").DataMember=Command名
.Sections(3).Controls("RptTextBox1").DataField=字段1
.Sections(3).Controls("RptTextBox1").Font.Name=…
…
.Sections(3).Controls("RptShapeN").Visible=False
.Sections(3).Controls("RptTextBoxN").Visible=False
…
. Sections(3).Height=计算出的或固定的细节高度
动态调整报表标题(RptLabelTitle为报表标签控件名)
.Sections(2). Controls("RptLabelTitle").Left=…
…
.Sections(2). Controls("RptLabelTitle").Alignment=…
…
调整完毕后
.Show 或 .PrintReport
End With
水晶
报表
报表
设计
器
例子
解释了
VB
6
自带
的水晶
报表
设计
器
的
使用
,是一个
例子
,
使用
时可调整。
ReportMachine
14、首家提供类似excel的
报表
设计
器
,给你足够灵活方表的
报表
设计
方式。 15、首家提供双
报表
设计
器
(第一种,第二种),满足所有的需求。 16、更是提供类似于ObjectPascal的script,实现特殊功能。 17、首家...
VB
程序
设计
入门基础
VB
入门基础。 清楚易懂,适合初学者 本课程主要从开发环境、窗体、命令按钮、文本框、标签、消息框和输入框、
代码
基础、选择结构、循环结构、数组、过程、控件等方面
进行
讲解
VB
编程资源大全(控件 其它3)
还包括一个示例程序和源
代码
(280KB) 60,s013_ariadtbar.ZIP 用这个控件做工具条不须象
VB
自带
的要用到ImageList控件,同时还有许多很方便的功能,慢慢去发掘吧(154KB) 61,s012.ZIP 一个很好进度条控件...
VB
编程资源大全(控件 其它1)
还包括一个示例程序和源
代码
(280KB) 60,s013_ariadtbar.ZIP 用这个控件做工具条不须象
VB
自带
的要用到ImageList控件,同时还有许多很方便的功能,慢慢去发掘吧(154KB) 61,s012.ZIP 一个很好进度条控件...
多媒体
809
社区成员
8,275
社区内容
发帖
与我相关
我的任务
多媒体
VB 多媒体
复制链接
扫一扫
分享
社区描述
VB 多媒体
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章