加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB6中动态设置报表结果

发布时间:2020-12-16 22:41:50 所属栏目:大数据 来源:网络整理
导读:在VB6的报表使用过程中,我们会发现这样的一个问题,那就是报表中的数据只能读一次,不管你的库中字段增加也好,删除也好,以及让它显示新的查询结果 等,它都不会记变。经过查资料才搞清楚,原来是Data Environment 的问题.原来,只要Command 对象中含有数据记录集

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读