VB与报表的交互
还接着上次说。在上个博客中已经说到建立好表的步骤了,接下来就是怎么使表与vb连接。
先看一下代码。
Option Explicit Dim WithEvents Report As grproLibCtl.GridppReport '实例化报表 Dim txtsql As String '定义连接字符串 Private Sub cmdprint_Click() Report.[Print] (True) '打印操作,由于print属性与vb中的属性有重复,因此需要用中括号括起来 End Sub Private Sub cmdshowprint_Click() Report.PrintPreview (True) End Sub Private Sub Form_Load() Dim checkday As Date checkday = Date '创建报表对象 Set Report = New grproLibCtl.GridppReport '载入报表模版文件 Report.LoadFromFile (App.Path & "\checkday.grf") Report.DetailGrid.Recordset.ConnectionString = "provider=SQLOLEDB;server=192.168.24.116;database=student_charge;integrated security =SSPI" '这是连接字符串,需要连接数据库的字符串 Report.ParameterByName("maketime").AsString = Date '这是我们 传入的参数,制作时间 Report.ParameterByName("endtime").AsString = Date Report.DetailGrid.Recordset.QuerySQL = "select * from checkday where date='" & checkday & "'" '定义的查询语言 GRDisplayViewer1.Report = Report '创建报表对象 GRDisplayViewer1.Start '报表显示 End Sub
大致浏览后,可能能够看清楚一共有三个事件,分别是Load、Print和printpreview事件。其实最麻烦的部分就是Load事件了。其余两个就是报表的两个属性罢了。
Load事件大致也就这几步
1.实例化报表对象
2.加载我们设计好的报表
3.定义我们需要连接的数据库字符串
4.设置我们需要的参数,比如标题显示制表时间等
5.定义查询的语句
6.创建报表对象
7.显示报表
其余的两个事件就仅仅调用了报表对象的两个属性,没有什么实质性的东西。
综上所述,报表就建立好了。当然报表里面还有好多功能,在以后的学习过程中,还的继续深化学习。