No.4 报表的初次见面--机房收费
来源:互联网 发布:超时空要塞f知乎 编辑:程序博客网 时间:2024/04/30 00:49
写在前面
最开始到了要用报表的时候,自己是没有新头绪的,于是查了很多资料,也从师哥师姐那里取了很多经。我的经验就是,什么东西都没有现成的,即使是要用别人的东西,自己也要先认识,同时再加上自己的想法,才可以达到你想要的效果。
修改已有的报表
完成机房的任务,我使用的报表是用的现成的报表,自己没有去做一个新的,但是现成的报表也有一些不合适的地方,我们可以通过vb将报表修改一下。
添加控件
我们在引用中添加关于制作报表控件:
然后会出现这两个控件:
s
上面的报表查询显示器,下边的是报表设计器,根据名字我们就知道他们是干什么的了。
设计报表
我们先加载报表设计器,打开之前已有的报表,修改其中的内容:
其中红色部分的内容在右侧的设计中都可以修改成自己想要的内容。不过这里我们要注意的几个问题就是下面这张图中圈起的内容:
这些内容都在右侧的参数集合中,当然我们可以根据自己的需要,再次添加有关的需要的参数,现在你就要问了,这些参数有什么用呢,他们都是具有特定格式的[# #],而这些参数我们可以在vb中进行设计,我们继续探索。
vb让报表有生命
现在我们有了报表,那么如何将数据库中的内容,放到报表上呢,同时当我们选择时间的时候,如何将时间跟着跑到报表上呢(就像下图的时间)?不要着急,问题总会解决的:
Private WithEvents Report As grproLibCtl.GridppReport '定义事件接口 (这里withEvents 声明一个可以引发事件的类)Dim txtSQL As String '实例化报表 Set Report = New grproLibCtl.GridppReport '建立报表的位置,将报表拿出来用 Report.LoadFromFile App.Path & "\weekcheck.grf" '建立表与数据库的联系,connectstring在模块中声明 Report.DetailGrid.Recordset.ConnectionString = ConnectString '建立查询语句 txtSQL = "select * from checkday_info where date > = '" & DTP1.Value & "' and date < = '" & DTP2.Value & "'" Report.DetailGrid.Recordset.QuerySQL = txtSQL '查看报表,就是把表放在查看的容器里 GRDisplayViewer1.Report = Report '将其显示 GRDisplayViewer1.Start
现在报表就和数据库联系起来了,还记得,上面的那个时间更改么?这里我们写在了,将他写在初始化的事件里面,今天老师还问到Initialize 和load的区别,Initialize比load触动的更早一点,没有太大的区别。下面看看时间怎么改的吧:
Private Sub Report_Initialize() Report.ParameterByName("begindate").AsString = Format(DTP1.Value, "yyyy-mm-dd") Report.ParameterByName("enddate").AsString = Format(DTP2.Value, "yyyy-mm-dd") Report.ParameterByName("XX").AsString = userIDEnd Sub
这样就完成了时间的设置,这里要说的就是Parameter是参数的意思,就是我们添加的那些参数,现在用到了。
其他功能
Report.[Print] (True) '实现打印,(true)区别vb中的printReport.PrintPreview (True) '打印预览GRDisplayViewer1.Refresh '刷新
结束语
使用已有报表的内容介绍到这里了,我相信,如果你想要知道,很多事情就都会知道的,有的时候只是自己不想变得优秀罢了。很多新鲜的领域,等着我们去开辟。
- No.4 报表的初次见面--机房收费
- 【机房收费】报表的制作
- 机房收费系统报表的使用
- 机房收费系统--报表
- 机房收费--报表设计
- 机房收费之报表
- 机房收费系统之报表
- 机房收费系统之报表
- 机房收费系统—报表
- 机房收费系统之报表
- 机房收费系统 之 报表
- 机房收费系统之报表
- 机房收费系统--报表器
- 机房收费系统之报表
- 【机房收费系统】 之 报表
- 机房收费系统—报表
- 机房收费之结账,报表
- 【机房收费】导出Excel报表
- CB的bug
- poj 1083
- 第十二周项目 数组类运算的实现
- Android 多个Fragment嵌套导致的三大BUG
- iOS开发让视图达到绕右上角旋转的效果
- No.4 报表的初次见面--机房收费
- java接口回调、同步回调、异步回调
- Solr 删除和新增 index
- Common Lisp入门笔记(四)函数
- 一个简单WPF分页条控件
- ECMAScript 6 notebook
- spark flatmap
- 高斯消元法
- iOS下拉悬浮窗,有选中状态