二、代码部分 跟之前写的excel相比,我觉得报表还是有点相同的。大体思路是这样的: 先定义。 (报表:dim withevents 对象变量 as 类名 这种用法是加载该类的事件,withevents之后就能在代码编辑窗看到该类的事件了(如果有的话)。 因为类不像控件,双击控
二、代码部分
跟之前写的excel相比,我觉得报表还是有点相同的。大体思路是这样的:
先定义。
(报表:dim withevents 对象变量 as 类名这种用法是加载该类的事件,withevents之后就能在代码编辑窗看到该类的事件了(如果有的话)。
因为类不像控件,双击控件就可以进入事件编辑。
使用withevents 变量时,应该注意下面这些限制条件:
withevents变量不能是派生对象变量。也就是说,不能把它声明为as object—当声明该变量时必须指定类名。
不能把 withevents 变量声明为as new。必须明确地创建事件源对象,并将它赋给withevents变量。)
实例化报表,打开报表位置。
链接数据源。(由于报表里面已经连接了数据源,所以这句话我注释后程序依然可以正常的运行。在excel是写地址)
查询表并把表里面的内容显示出来下面看一下代码:
'定义 dim withevents report as grprolibctl.gridppreport
'加载一个新报表 set report = new grprolibctl.gridppreport '载入报表模版文件 report.loadfromfile (app.path & \日报表.grf) '设置数据连接串 'report.detailgrid.recordset.connectionstring = connectstring '链接数据源,由于在报表里面已经连接了。 txtsql = select * from checkday_info where date =' & date & ' report.detailgrid.recordset.querysql = txtsql '执行 '显示报表中的内容 grddaybill.report = report grddaybill.start '报表模板上的4个日期或时间赋值 report.parameterbyname(date1).value = format(date, yyyy-mm-dd) report.parameterbyname(datetime).value = now report.parameterbyname(username).value = username
三、总结
所以很多新的东西只要理清好原理和思路,也没什么太难的。
还是特别感谢杨琛师哥的这两篇博客,巨详细。
机房收费系统之结账与报表(三)vb与报表代码《一学就会傻瓜版》
机房收费系统之结账与报表(二)周报表制作《一学就会傻瓜版》