网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.VisualBasic变量、常数和数据类型.
.VB从零开始编外挂(三).
.文本框中光标位置的获得.
.VisualBasic使用技巧.
.VB“变态”用法之有用技术和没用.
.用VBScript制作活动主页.
.用VB编写入侵监听程序(上).
.在GotFocus时快速选择文本.
.如何实现VB程序登录admin888加密.
.VisualBasic的常见问题.
.VB6.0中的几个新增数据库工具.
.用VB实现象Windows记事本的一些功.
.一些字符串操作的问题和回答.
.VB使用编程技巧三则.
.VisualBasicCOM基础之更多属性.
.VB操作LotusNotes数据库.
.VisualBasic2005中的My功能.
.趣味撞球--VB5应用程序一例.
.VB5.0中实现鼠标拖放.
.VisualBasic命令分类表.

VB6中动态设置报表结果

发表日期:2006-2-27


在VB6的报表使用过程中,我们会发现这样的一个问题,那就是报表中的数据只能读一次,不管你的库中字段增加也好,删除也好,以及让它显示新的查询结果等,它都不会记变。经过查资料才搞清楚,原来是DataEnvironment的问题.原来,只要Command对象中含有数据记录集合,它就不会重新执行SQL语句,就算是把新的查询语句给DataEnvironment后它也不会执行,解决的方法为:先把数据记录集合关闭,然后执行SQL语句,如下例:
PrivateSubCommand11_Click()
OnErrorResumeNext
DimsqlAsString
sql="select*fromsaledate"
IfDataEnvironment1.rsCommand1.State<>adStateClosedThen
DataEnvironment1.rsCommand1.Close
EndIf
IfRight$(Trim$(App.Path),1)="\"Then
DataEnvironment1.Connection1.OpenApp.Path&"jxck.mdb"
Else
DataEnvironment1.Connection1.OpenApp.Path&"\jxck.mdb"
EndIf
DataEnvironment1.rsCommand1.Opensql
SetDataReport1.DataSource=DataEnvironment1
DataReport1.DataMember="command4"
'DataReport1.Title="出库明细总表"
DataReport1.Show
EndSub
这样的话报表中显示的内容就可以是查询结果了。
对于分组报表,也可以这样:
如:
PrivateSubCommand11_Click()
OnErrorResumeNext
'DimsqlAsString
'sql="select*fromsaledategroupby分组字段名"
IfDataEnvironment1.command4_分组.State<>adStateClosedThen
DataEnvironment1.rsCommand4_分组.Close
EndIf
IfRight$(Trim$(App.Path),1)="\"Then
DataEnvironment1.Connection1.OpenApp.Path&"jxck.mdb"
Else
DataEnvironment1.Connection1.OpenApp.Path&"\jxck.mdb"
EndIf
DataEnvironment1.rsCommand4.Opensql
SetDataReport4.DataSource=DataEnvironment1
DataReport4.DataMember="command4_分组"
'DataReport1.Title="出库明细总表"
DataReport4.Show
EndSub
注意要在SQL语句中含有分组关建字"groupby"就可以了。
以上代码对于要改变DataEnvironment中的记录集同样适用.

以上代码在VB6.0,Win98上调试通过.
如有问题请与我联系.

张振兴(星云)
邮箱:xingyun0615@sina.com
Oicq:4487877->

上一篇:用VB5.0从Recordset中打印列表 人气:3761
下一篇:VB5.0中远程数据库的访问 人气:2923
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐