大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> VB6中用DataReport做报表

VB6中用DataReport做报表

时间: 2021-07-31 作者:daque

我不是vb流利工,迩来方才用vb做完一个步调,个中遏制局部没费太大周折,倒是报表局部颇让我费了一翻思想。在网上找了半天,也没找到对于vb6的 datareport的精细引见,所以想模仿"长辈"们的体味,用crystalreport或excel,发觉也不省劲,所以确定回顾再去"啃"datareport,别说,还真让有所成果,底下就大略的引见一下我的领会,蓄意对大师能有所扶助。  开始引见一下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 withwith 报表名 .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 或 .printreportend with  如许做的便宜是报表安排时大略,安排简单、随便,只需变动一点代码,而不用为了一点点的窜改而费心的在安排窗口安排半天。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.