虚拟主机行业最新资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:站长资讯>-> 邮件系统-> IMail Server
在vb6.0中实现动态统计报表_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,空间150元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
在利用VB开发MIS系统的过程中,经常需要制作动态统计报表。本文就如何实现动态数据源下的分组交叉统计报表进行阐述,并结合实例给出编程指导。

  在VB6.0的数据环境设计器中,我们可以利用“添加命令”一项来连接报表所需的数据源,同时利用“添加命令”属性中的分组与合计功能设计分组交叉统计报表的数据源,至此我们可以设计简单的数据存在于单一表静态数据源下分组交叉报表,对于数据存在多表的复杂的动态数据源下的分组交叉报表来说,仍实现不了,实现该功能的关键在于构造一个符合动态数据源要求的中间表。下面以一管理系统中工程成本统计报表的实例来说明如何实现动态数据源下的分组交叉统计报表。

一、报表要求与分析
  该报表要求列出在指定的时间段内实施的各项工程所耗器材明细、数量、费用,并且计算各项工程的成本,最终计算所有工程的累计成本。

  需求分析后可知该报表是个典型的动态数据源下分组统计报表,分组项为工程名称,要求对每个分组进行子汇总和对所有分组进行总汇总。由于在该系统中的出库单和出库单明细分别存放在不同的表中,因此必须根据报表的要求预先构造一个成本统计中间表,命名为EquipMentCost。相关表结构如图1。

  通过对表OutBill和OutBillDetail的分析,发现两者通过关键字OutBill相联,下面通过SQL语句生成中间表EquipmentCost,语句如下:

  InsertintoEquipmentCost

  (Project,Name,Standard,Type,Num,Cost)

  selecta.projectasProject,b.nameasName,b.standardasStandard,b.typeasType,b.numasNum,b.numb.priceasCostfromOutbillaleftjoinOutbillDetailbon(a.outbill=b.outbill)

  wherea.OutDate>=date1anda.OutDate<=date2

  date1和date2变量用来指定时间,注意插入前要先清空该中间表的所有数据。

二、利用数据环境设计器生成工程成本报表的初始模板
  打开一个数据环境设计器,在其属性表单中设置其名称属性为EnvCatv,并添加一个数据库连接到当前库Catv,连接名称为CatvConn。在当前库连接下单击右键,选择“添加命令”选项,创建一个命令,命名为CmdCost,在该命令的属性页的“通用”选项页上设置SQL语句如下:

  SelectfromEquipmentCost

  单击“应用”按钮察看效果。

  随后对该命令进行分组,右键单击该命令,选择“属性”选项,在属性页的“分组”选项页中,将Project(工程名称)字段设置为分组字段,分组名称为GroupCost,单击“应用”按钮观看效果。

  接着对该命令进行子汇总,右键单击该命令,选择“属性”页的“汇总”选项页,将Num(器材数量)、Cost(器材成本)设置为子汇总字段,分别命名为“合计1”、“合计2”,汇总名称为GrantTotal,该名称为总汇总所共用。在程序中显示报表前,必须对该名称对应的记录集RsGrantTotal进行刷新,否则数据报表不能反映统计中间表的最新内容。单击“应用”按钮观看效果。

  最后对该命令进行总汇总,右键单击该命令,选择“属性”页的“汇总”选项页,将“合计1”、“合计2”设置为总汇总字段,分别命名为“总计1”、“总计2”,单击“应用”按钮观看效果。

  按照上面的步骤,我们在当前连接CatvConn下建立了一个包含汇总的分组命令,接着建立一个数据报表设计器命名为RptCost,将该分组子命令拖到数据报表的“细节”段内,释放后,调节各个字段的大小和位置,其中,子汇总字段和总汇总字段还应该分别另建分组节,总汇总字段所处的节应位于最上层。

三、在程序中填充统计中间表,更新数据报表并显示
  设计一个打印模块如下:

  PublicSubPrint_EquipMentCost(ByvalDate1asDate,ByvalDate2asDate)

  清空虚拟表

  DimSSQLasstring  

  DimCmdAsNewADODB.Command

  SSql="DeleteFromEquipmentCost"

  Cmd.ActiveConnection=gConn  

  数据库连接变量,读者可以建立自己的数据库连接变量

  Cmd.CommandType=adCmdText

  Cmd.CommandText=SSql

  Cmd.Execute

  将统计明细添加到虚拟表中

  ssql="InsertintoEquipmentCost"&&"(Project,Name,Standard,Type,Num,Cost)"&&"selecta.projectasProject,b.nameasName,"&&"b.standardasStandard,b.typeasType,"&&"b.numasNum,b.num*b.priceasCost"&&"fromOutbillaleftjoinOutbillDetailbon(a.outbill=b.outbill)"&&"wherea.OutDate>="&&Date1&&"anda.OutDate<="&&Date2

  Cmd.ActiveConnection=gConn

  Cmd.CommandType=adCmdText

  Cmd.CommandText=SSql

  Cmd.Execute

  刷新数据报表,使其显示最新查询记录

  SetRptCost.DataSource=EnvCatv

  数据环境名称

  EnvCatv.rsGrandTotal.Requery  rsGrantTotal为分组子命令记录集名称

  显示数据报表

  RptCost.Show

  EndSub

  本程序在VB6.0、MS-SQLServer下运行成功。

出库单表名为OutBill,结构如下:字段名
字段含义
类型
长度

OutBill
出库单号
Varchar
10

OutDate
出库日期
SmallDate

LLMan
领料人
Varchar
12

DepartMent
部门
Varchar
12

Operator
经手人
VarChar
12

Project
对应工程
VarChar
50

出库单明细表名为OutBillDetail,结构如下:字段名
字段含义
类型
长度

OutBill
出库单号
Varchar
10

EmName
器材名称
Varchar
12

EmStandard
器材规格
Varchar
12

EmType
器材型号
Varchar
12

Amount
数量
Int

Price
单价
smallmoney

成本统计中间表名为EquipMentCost,结构如下:字段名
字段含义
类型
长度

Project
工程名称
Varchar
50

Name
器材名称
Varchar
12

Standard
器材规格
Varchar
12

Type
器材型号
Varchar
12

Num
器材用量
Int 

Cost
器材成本
smallmoney

->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
文章页数:[1] 
相关主题
  • 在vb6.0中使access数据库在网络使用中保持同步_visualbasic教程
  • 在vb6.0中播放gif动画_visualbasic教程
  • Google

    热门文章
    ·adobe photoshop cs3 扩展版新功能_photoshop教程
    ·让windows xp更安全的几招超级必杀技_windows xp
    ·photoshop打造阳光性感的黑人美女_photoshop教程
    ·绘制多线、参照线和射线_autocad教程
    ·用photoshop造作漂亮的羽毛扇_photoshop教程
    ·vb实用编程两例_visualbasic教程
    ·vb里实现帮助文件速成_visualbasic教程
    ·vb编程计算农历的计算方法_visualbasic教程
    ·visualbasic工具栏、对话框二_visualbasic教程
    ·在vb6.0中实现动态统计报表_visualbasic教程

    最新文章
    ·adobe photoshop cs3 扩展版新功能_photoshop教程
    ·让windows xp更安全的几招超级必杀技_windows xp
    ·photoshop打造阳光性感的黑人美女_photoshop教程
    ·绘制多线、参照线和射线_autocad教程
    ·用photoshop造作漂亮的羽毛扇_photoshop教程
    ·vb实用编程两例_visualbasic教程
    ·vb里实现帮助文件速成_visualbasic教程
    ·vb编程计算农历的计算方法_visualbasic教程
    ·visualbasic工具栏、对话框二_visualbasic教程
    ·在vb6.0中实现动态统计报表_visualbasic教程

    相关主题
  • 在vb6.0中使access数据库在网络使用中保持同步_visualbasic教程
  • 在vb6.0中播放gif动画_visualbasic教程



  • 友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 一班在线
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机


    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
      打印  刷新  关闭
     


    联系我们  |  广告服务  |  免责声明  |  友情连接
    Copyright ?2005 - 2006 All Rights Reserved
    蜀ICP备05000045号