vb调用水晶报表报表内容的即时更新

vb调用水晶报表报表内容的即时更新。我最近做了一个vb调用水晶报表做报表。但是碰到一个问题,不知道如何去更新报表内容更新。
 我的做法是:在vb6.0的平台上做两个文本,两个按钮。文本用于输入数据,一个按钮用来记录,一个按钮用来查询。运行vb6.0时,输入两个数据,点记录按钮时,数据存在sql server数据库中。点查询时,能查到数据。在输入两个数据。在点查询,查询的数据没有更新。sql server数据库中都有记录。想请问下代码改怎么改。其中command2是查询按钮。我的代码如下:
 Dim cnn ‘定义一个连接
 Dim rs ‘定义一个数据纪录集
 Private Sub Command1_Click()

 Set cnn = CreateObject("adodb.connection") ‘创建连接
 Set rs = CreateObject("ADODB.Recordset")  ‘创建纪录集
 cnn.open "dsn=abc" ‘打开数据源为abc
 rs.open "select* from b order by shijian ", cnn, 3, 2 ‘打开表,并按时间的升序记录
 rs.addnew ‘添加新的数据
 rs.Fields(0) = Date ‘将日期的值写到数据库中
 rs.Fields(1) = Time ‘将时间的值写到数据库中
 rs.Fields(2) = Text1.Text ‘将文本的值写到数据库中
 rs.Fields(3) = Text2.Text ‘将文本的值写到数据库中
 rs.Update ‘更新数据库中的值
 cnn.Close ‘关闭连接
 End Sub

 
 Private Sub Command2_Click()
 Form2.CRViewer91.EnableRefreshButton = True
 Form2.Show
 End Sub
 

问题补充:
阿鸣工程师说的方法,我试过,不行,希望有更多人的帮助

最佳答案

转个贴,不知是否有帮助:
 许多朋友在使用水晶报表编程时,遇到了这么个小难题
 报表第一次加载的时候正确显示,但是在条件更换后,报表内容却没有及时更新.
 虽然在Crviewer上已经使用了Refresh方法
  其实VB中只要简单在填充记录集合前使用DiscardSavedData方式释放掉水晶报表应用中缓存的数据即可
     ‘清除报表中保持的数据
     objCRReport.DiscardSavedData
     ‘赋给报表数据
     objCRReport.Database.SetDataSource rst
 VSNet2003附带的水晶报表版本中没有DiscardSavedData方法,
 我自己用的时候没有出现过数据不刷新的情况,所以没有直接做个测试
 但是可以在应该在界面重载的时候,释放一下组件即可
 objReportDocument.Dispose()

 

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc312995.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐