您好,欢迎访问一九零五行业门户网

机房收费系统之报表(二)

上一篇说道怎么用报表设计器怎么设置报表模板,现在到了到vb里实现报表了,在报表之前,上一篇文章我们已经加载了部件 ,引用之后会在控件工具箱中出现两个第三方控件,分别是grdisplayviewer和grprintviewer。把grdisplayviewer(报表查询显示器)放在窗体
上一篇说道怎么用报表设计器怎么设置报表模板,现在到了到vb里实现报表了,在报表之前,上一篇文章我们已经加载了部件,引用之后会在控件工具箱中出现两个第三方控件,分别是grdisplayviewer和grprintviewer。把grdisplayviewer(报表查询显示器)放在窗体上,之后我们就用代码导入模板实现报表了。
我的窗体布局如下图
有刷新,打印,打印预览三个命令按钮。首先在通用中定义
dim withevents report as grprolibctl.gridppreport '实例化报表
withevents注意:处理时间源所引发的事件 变量 report将用于处理对象的事件。可以通过提供类名来指定对象类型,该类是创建这个对象的类。 withevents 变量不能是派生对象变量,也就是说不能把它声明为as object—当声明该变量时必须指定类名。不能把 withevents 变量声明为 as new。必须明确地创建事件源对象并将它赋给withevents变量。不能在标准模块中声明 withevents 变量。只能在类模块、窗体模块以及其它定义类的模块中声明。不能创建withevents 变量数组。 下面是刷新按钮中的代码。 grdisplayviewer1.refresh
打印预览中的代码 report.[print] (true) '打印,因为报表对象的print方法名与vb的内部定义方法有冲突所以要用中括号
下面是form_load() 事件中的代码。private sub form_load() dim strsql as string, strmsg as string strsql = select * from checkday_info where date= ' & format(date, yyyy-mm-dd) & ' set report = new grprolibctl.gridppreport '实例化模版 report.loadfromfile (app.path & \checkday.grf) '加载模版 report.detailgrid.recordset.connectionstring = connectstring() '连接数据源 report.detailgrid.recordset.querysql = strsql '通过select查询创建记录集 grdisplayviewer1.report = report '将数据赋给grd的report grdisplayviewer1.start '开始打印end sub
在这又一次引用了第三方控件,可见vb的编程就是强大。它就像我们前面将vb中的数据导出到excel里面的操作步骤差不多,还有记录集(recordset)对象。dim xlsapp as excel.applicationset xlsapp = createobject(excel.application)
它们都是先定义,再赋值,最后执行使用。这几行代码我们之前没有接触过,值得我们好好琢磨琢磨。
其它类似信息

推荐信息