VB6中用DataReport做报表,第1张

VB6中用DataReport做报表,第2张

用VB完成一个程序,其中控件部分没费多大劲,报表部分却让我花了不少时间。我在网上搜了半天,也找不到关于VB6的DataReport的详细介绍,所以想借鉴一下“前辈”的经验,用CrystalReport或者EXCEL都感觉不太费力,于是决定回去“啃”一下DataReport,更别说,还真让我有所收获。下面简单介绍一下我的经验,希望对你有帮助。

首先,介绍DataReport对象的一些常见属性。DataSource用于设置数据源,数据用户通过该数据源绑定到数据库;二是DataMember,从DataSource提供的几个数据成员中设置一个特定的数据成员;三种是左边距、右边距、上边距、下边距等。,用于指定报表的左、右、上、下边距;四个部分,即DataReport的报表头、表头、明细、表尾和报表尾。如果添加分组(分组可以有多层),会添加一对区域,即分组页眉和分组页脚。通常,DataSource是一个数据环境或ADODB的一个变量。连接类型,而DataMember对应于Command或ADODB的变量。数据环境中的记录集类型。建议使用数据环境和命令。大家一定要清楚页面边界。下面我主要介绍以下几节,这也是DataReport的精髓。

Sections是一个集合。您可以为每个部分指定一个名称,也可以使用它的默认索引,从上到下是1,2…。每个部分都有高度和可见属性,您可以在特定条件下使部分不可见。各种报表控件可以放在一个节中,其中RptLabel、RptImage、RptShape、RptLine可以放在任意节中输出各种文字、图形、表格行;RptTextBox只能放在details中,一般用于绑定output DataMemeber提供的数据字段;RptFunction只能放在分组脚注中,用于输出总计、值、最小值、平均值、计数等。使用各种内置函数计算。上述报表控件中常见的公共属性有:Top、Left、Height、Width用于控制位置和高宽,以及Visible用于控制能见度;RptTextBox也有DataField、DataMember、DataFormat和Font属性;其他属性就不再说了。

然后介绍一下我的经历。要控制的一对报表控件按其类型有规律地命名;二是使用RptShape的矩形框作为表单线框,比RptLine框方便很多,RPT line只用于对角线;第三,RptLabel用于报表的标题以及报表中的页眉文本、日期和页码,其中Caption属性支持转义字符,%D为长格式日期,%d为短格式日期,%P为总页数,%p为当前页码;第四,对于固定报表,报表控件应该直接放在设计窗口中。对于直播报道,首先要考虑报道的情况,在不同的区域放置足够的控件,这样位置和大小就不用研究了。然后,在输出报表之前,要用VBA码调整所有控件的属性,包括位置、高度、宽度、字体、对齐方式、显示格式、可见性等。相应路段的高度和能见度也要根据情况进行调整。
最后用一个示例模板来说明其用法。

连接数据库

与数据环境。RS command name
if . state = adstateopenthen . close
。source = SQL语句
。打开要输出的数据库数据项,输出以
两行报表名
结束。DataSource=数据环境
。DataMember =命令名也可以固定,不用每次都设置
页面头(RpttLabel…是报表控件的名称)
。第(2)节。控件(“rptlabelpage”)。caption = "第%P页,共%p页"
。第(2)节。控制(“rptlabeldate”)。caption = "打印日期:%D"
。第(3)款。控件(“rptlabel1”)。left = …

设置详细信息(rpthapex和RptTextBoxX是报表控件名称)
。第(3)款。控件(“rptshape1”)。left = … [/br。第(3)款。控件(“RptShape1”)。Top=…
。第(3)款。控件(“RptShape1”)。Height=…
。第(3)款。控件(“RptShape1”)。Width=… [/ Br/]。第(3)节。控件(“RPT文本框1”)。Datamember =命令名
。第(3)节。控件(“RPT文本框1”)。Datafield = Field 1
。第(3)节。Controls("RptTextBox1 "),Font.Name=…

。第(3)款。控件(“RptShapeN”)。Visible=False
。第(3)款。控件(" RptTextBoxN ")。visible = false

。第(3)款。Height =计算或固定的明细高度
动态调整报表标题(RptLabelTitle是报表标签控件名称)
。第(2)节。控制(“rptbellettle”)。left = …

。第(2)节。控制(“rptbellettle”)。调整后对齐=……
……

。显示

这样做的好处是报表设计简单,调整方便随意。你只需要修改一点点代码,而不用在设计窗口花半天时间做一点点修改。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VB6中用DataReport做报表

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情