转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
在VB中使用动态分组报表         ★★★★

在VB中使用动态分组报表

作者:闵涛 文章来源:闵涛的学习笔记 点击数:696 更新时间:2009/4/23 18:59:10

    在使用VB自带的报表过程中,我遇到了处理动态分组报表的问题。一般要使用分组报表要在VB中建立一个DataEnvironment,并在其中建立数据库联接和命令对象,在命令对象中设置分组字段,最后将这些分组字段加入到报表中。但是这种方法只能适应静态的数据源,当遇到数据表中的字段不固定,或数据表不能预先知道的情况时,这种方法就无能为力了。经过查阅各种资料,发现我们可以通过使用Data Shaping来动态创建分组信息。下面就详细介绍一下如何动态创建分组信息,并应用于VB报表。

       要使用Data Shaping,程序必须使用ActiveX Data Object (ADO)连接数据库,解决问题的关键是使用Data Shaping的驱动程序代替通常使用的各种OLE DB的驱动程序,它的用法跟使用其它驱动程序类似,对于已有的数据访问代码不用作任何修改,只是简单的修改一下连接代码就可以支持Data Shaping了。具体做法如下:

       将连接参数中的   

Provider设置成"MSDataShape" 即

ConnectionString  = "Provider=MSDataShape;Data Provider=通常的驱动程序;Data Source=…;其它的参数"

然后就可以和平常一样进行数据连接和各种数据操作了。如此连接的数据源出了具有用普通方法的所有特性以外,同时具有了我们即将使用的Data Shaping功能,下面就可以建立自己的分组信息了:

将用于打开记录集的SQL语句写成如下形式:

 

SHAPE {select 字段1, 字段2, 字段3,…, 字段n from 现有的表} AS 新的名称1

COMPUTE新的名称1 AS新的名称2 BY 分组字段1, 分组字段2,…, 分组字段n

 

上面的语句中,需要注意的是分组字段必须同时在Select 中出现,否则运行时将报错。用该SQL语句打开的记录集中包含若干个字段,它们是:新的名称2、分组字段1-n。在使用时,将打开的记录集rs作为报表的DataSource,在报表的分组部分可以直接且只能使用分组字段1-n以及各种统计函数,在正文中使用字段1-n时,应将对应编辑框的DataMenber设置为”新的名称2”,具体请参考以下语句

MyReport.Sections("GroupHeader").Controls("Text1").DataField =”分组字段1”

 

MyReport.Sections("GroupFooter").Controls("Function1").DataMember = "新的名称2"

MyReport.Sections("GroupFooter").Controls("Function1").DataField = "字段1"

 

MyReport.Sections("PageContent").Controls("Text2").DataMember = "新的名称2"

MyReport.Sections("PageContent").Controls("Text2").DataField =”字段1”

 

按照以上的方法就可以对带有分组的报表进行动态数据绑定了,这对于那些操作临时表的情况十分有用,因为临时表是无法用设计器设计分组的。

关于Data Shaping的详细介绍可以去参考MSDN在线资源,在一般情况下我们可以用设计器去设计一个类似的结构,然后查看VB设计器生成的代码,这样就可以套用我们自己表了。


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台