一.首先在vb的 工程——部件,添加图下控件
结果如下:
二:制作报表
1>下载Grid++Report 报表设计器
2>打开如下图
3>插入——报表头(此时还不能输入问题,还需进行下一步)
a.插入——静态框,然后在报表头中画出静态框,此时在静态框中就可以收入文字了
4>插入——明细网络
a.在插入的明细网络中点击按钮“数据库连接串与查询SQL”,如图
b.点击创建数据库连接串
c.出现如下图,选择 Microsoft OLE DB Provider for ODBC Drivers
d.点击下一步,设置相应项
e>点击测试测试,测试成功后,点击确定
f.在点击确定,出现如下画面 ,填写sql查询语句 ******注意:要把password=.....自己写
g.点击测试,测试通过,点击确定,确定
5>编辑——根据明细查询SQL生成字段
编辑——根据字段生成表格列
6>插入——报表尾(在报表的后面)而插入——页脚(在一页的最下面)
a.插入——综合文字框,在报表尾中画出
b.要想插入与表有关的内容,可双击——选择插入域,在引用类型中选择 参数,字段中选额下拉框中的内容(必须是下拉菜单中的内容),但在此之前可设置参数即下拉框中的内容,即文本
设置如下:右击 报表主对象中的参数集合——选择插入——参数,此时可自定义参数了
c.要想插入计算机时间,设计如下:在引用类型中选择系统变量,字段选择当前时间
7>要想在报表头与报表中间插入内容,可将明细网络往下移即可,中间就有空隙了(添加后,如果不下拉,报表头和明细网络中间是没有空隙的),插入内容即可了
三.在vb中的设置
1>首先在窗体中画出GRDisplayViewer
2>代码设计,(以周结账单为例)
Private Sub Command1_Click() '刷新按钮
Dim txtsql As String
txtsql = "select * from Checkweek_Info where date between '" & beginTimeDTP.Value & "' and '" & endTimeDTP.Value & "'"
Report.DetailGrid.Recordset.ConnectionString = ConnectString() '连接数据源
Report.DetailGrid.Recordset.QuerySQL = txtsql '通过select查询创建记录集
RDisplayViewer1.Start '在报表中显示
GRDisplayViewer1.Refresh
End Sub
Private Sub Command2_Click() '预览按钮Report.PrintPreview (True)
End Sub
Private Sub Command3_Click() '打印按钮
Report.[Print] (True) '打印,报表对象的print方法名与vb中的内部定义方法有冲突,所以使用中括号
End Sub
Private Sub Form_Load()
txtsql = "select * from Checkweek_Info where date between '" & beginTimeDTP.Value & "'and '" & endTimeDTP.Value & "'"
Set Report = New grproLibCtl.GridppReport '实例化模板
Report.LoadFromFile ("E:\数据库\机房收费系统自己敲\周结报表.grf") '加载模板
Report.DetailGrid.Recordset.ConnectionString = ConnectString() '连接数据源
Report.DetailGrid.Recordset.QuerySQL = txtsql '通过select查询创建记录集
Report.ParameterByName("fuzeren").AsString = UserName
Report.ParameterByName("fuzeren").Value = UserName '显示管理员编号
Report.ParameterByName("begin").AsString = beginTimeDTP
Report.ParameterByName("begin").Value = beginTimeDTP '显示管理员编号
Report.ParameterByName("end").AsString = endTimeDTP
Report.ParameterByName("end").Value = endTimeDTP '显示管理员编号
GRDisplayViewer1.Report = Report '将数据赋给GRD的report
GRDisplayViewer1.Start '在报表中显示
End Sub