机房之报表(日、周结账单)
来源:互联网 发布:数据完整性是指 编辑:程序博客网 时间:2024/05/21 09:29
机房收费系统将要接近尾声啦,心里是灰常的激动的!在这期间遇到了许多从未遇到过的问题,今天就来说说报表咯!!! 恩…………说什么好呢?好吧,说说报表与vb的交互吧! 我这几天看了好多博客,关于这个方面的真是一大堆的哈,本来不想写了,但是想想还是自己写一下,会留下很深的印象的,于是就有了下边的少些文字和图片还有一大堆文代码: 我看他们的博客大多数都是先写的如何制作报表,我看有点儿麻烦,也就没有自己制作,用的发下来的材料里边的现成的(怪我懒咯)。但用现成的也不容易啊,无论如何怎么都不行,于是我就从网上搜了一下,原来如此!就拿日结账来说吧: 1、首先打开报表文件然后点击下图中红框中的(sql)字样小按钮:
2、进来后是这样的,然后点击(创建数据库连接串)小按钮:
3、然后点击如下:
4、点击后自动跳转到链接选项卡,然后:图中(1)点击选择本机号(也可以是别人的机号)或者直接输入符号点(.);图中(2)如果图中(1)选择的是本机号或者输入点(.),(2)选择哪个都无所谓,选择“使用 Windows NT 集成安全设置”则直接选择图中(3);如果选择“使用指定的用户名称和密码”则需输入你电脑的数据库的用户名和密码到下边的“用户名称”和“密码”然后到如中(3);若图中(1)选择的是别人的机图中(3)就可以直接选择自己机房收费系统中所需要的数据库了。
5、然后点击“测试连接”按钮,弹出提示框“测试连接成功”即可。 这样初步配置报表文件算告一段落了,接下来就是进入VB敲写代码了(这里画控件就不细说了,看图):日结账单:
代码:1、先定义:
Option Explicit '强制显式声明所有变量 Dim WithEvents Report As grproLibCtl.GridppReport '实例化报表
2、然后在form_load中添加代码:
Private Sub Form_Load() '窗体级声明 过程 Form_Load() Dim Txtsql As String '局部声明 Txtsql 为 字符型 Dim msgtext As String '局部声明 msgtext 为 字符型 Txtsql = "select * from CheckDay_Info where date='" & Format(Date, "yyyy-mm-dd") & "'" 'Txtsql = "select * from CheckDay_Info where date='"连接 格式化文本(Date, "yyyy-mm-dd")连接 "'" Set Report = New grproLibCtl.GridppReport '实例化模板 Report.LoadFromFile (App.Path & "\机房收费系统所需素材\日结账.grf") '加载模板 Report.DetailGrid.Recordset.ConnectionString = connectstring() '连接数据源 Report.DetailGrid.Recordset.QuerySQL = Txtsql '通过select查询创建记录集 Report.ParameterByName("guanliyuan ").AsString = UserName Report.ParameterByName("guanliyuan").Value = UserName '显示管理员编号 GRDisplayViewer1.Report = Report '将数据赋给GRD的report GRDisplayViewer1.Start '在报表中显示 End Sub '结束 过程
3、打印中:
Report.[Print] (True) '打印,报表对象的print方法名与VB中的内部定义方法有冲突,所以使用中括号
4、打印预览中:
Report.PrintPreview (True) '打印预览
5、日结账单刷新:
GRDisplayViewer1.Refresh 'GRDisplayViewer1.刷新 MsgBox "账单刷新成功!", vbOKOnly + vbExclamation, "警告" '弹出消息框 "账单刷新成功!", 只有 确定 按钮(缺省)(值=0) + vbExclamation, "警告"
日结账单就这样的完成了,然后是周结账单:
代码: 与日结账单的代码基本上一样,只是多了个获取始终日期。
'获取始终时间 Report.ParameterByName("startdate").Value=Format$(DTPicker1.Value, "yyyy-mm-dd") Report.ParameterByName("enddate").Value = Format$(DTPicker2.Value, "yyyy-mm-dd")
刷新账单的代码”
Dim Txtsql As String '局部声明 Txtsql 为 字符型 Dim msgtext As String '局部声明 msgtext 为 字符型 Dim mrc1 As ADODB.Recordset '局部声明 mrc1 为 ADODB.Recordset Dim mrc2 As ADODB.Recordset '局部声明 mrc2 为 ADODB.Recordset If endtime.Value < starttime.Value Then '如果 endtime.Value < starttime.Value 则 MsgBox "终止时间不能小于起始时间!", vbOKOnly + vbExclamation, "警告" '弹出消息框 "终止时间不能小于起始时间!", 只有 确定 按钮(缺省)(值=0) + vbExclamation, "警告" Exit Sub '退出 过程 End If '结束 如果 Txtsql = "select * from CheckDay_Info where date between'" & Format$(starttime.Value, "yyyy-mm-dd") & "'" & "and'" & Format$(endtime.Value, "yyyy-mm-dd") & "'" Set mrc1 = ExecuteSQl(Txtsql, msgtext) '设置 mrc1 = ExecuteSQl(Txtsql, msgtext) Txtsql = "select * from checkWeek_Info " 'Txtsql = "select * from checkWeek_Info " Set mrc2 = ExecuteSQl(Txtsql, msgtext) '设置 mrc2 = ExecuteSQl(Txtsql, msgtext) Do While Not mrc2.EOF '循环 当 否定 mrc2.是否到达结尾 mrc2.delete mrc2.MoveNext Loop '结束循环 '更新到日结表中 Do While Not mrc1.EOF '循环 当 否定 mrc1.是否到达结尾 With mrc2 '相同对象 mrc2 .AddNew '.AddNew .Fields(0) = mrc1.Fields(0) .Fields(1) = mrc1.Fields(1) .Fields(2) = mrc1.Fields(2) .Fields(3) = mrc1.Fields(3) .Fields(4) = mrc1.Fields(4) .Fields(5) = mrc1.Fields(5) .Update '.Update mrc1.MoveNext 'mrc1.MoveNext End With '结束 相同对象 Loop '结束循环 GRDisplayViewer1.Refresh 'GRDisplayViewer1.刷新 MsgBox "账单刷新成功!", vbOKOnly + vbExclamation, "警告" '弹出消息框 "账单刷新成功!" End Sub '结束
这样,日周结账单就完成了,嘿嘿!!!
0 0
- 机房之报表(日、周结账单)
- 机房收费-报表之日结账单
- 机房收费系统问题集(5)——报表(日结,周结账单)
- 机房收费系统之日结账单和周结账单
- 【机房收费系统——报表与vb交互之日结账和周结账】
- 【机房收费系统】日、周结账单
- 【机房收费系统】日结账单报表实现
- VS制作报表(机房收费系统个人版日结账单)
- 问题六 报表(日、周结账单)
- 机房收费系统之周结账单
- 机房收费系统之周结账单
- 机房收费系统之日结账单表
- 机房收费系统——报表(日结账)
- 机房收费之结账,报表
- 机房收费系统合作版——周结账单之报表
- 【机房收费系统】周结账单报表实现
- 机房收费系统—日结账单
- 日结账单和周结账单
- 分段与分页存储管理
- hdu 5373 The shortest problem(模拟、数学规律)
- 工具类:处理网络请求的回应
- 【Hadoop系列第九章】(二)实践:HBase部署及应用
- 对象和数组(8.11)
- 机房之报表(日、周结账单)
- POJ 1028 Web Navigation 模拟,应用STL
- 工具类:MD5加密
- 荷兰国旗排序
- zoj 1586 QS Network【最小生成树 kruskal && prim】
- 从sqlite3中删除表的指定列
- CXF简单示例(一)
- 递归求n!
- Longest Run on a Snowboard