VB中调用水晶9如何让其自动刷新数据表中的数据?

scxs 2004-08-26 02:00:11
Screen.MousePointer = vbHourglass
Set Report = CryApp.OpenReport(App.Path & "\rpt\tmp_persontab.rpt")
CRViewer91.ShowPreviousPage

CRViewer91.ReportSource = Report
CRViewer91.ViewReport
CRViewer91.Zoom 100
Screen.MousePointer = vbDefault
...全文
102 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sangshuyezi 2004-08-26
  • 打赏
  • 举报
回复
我做的报表都可以显示为最新的数据。有一点不知道你是不是如此:
请将报表设计器中指定的数据表名,用sql语句(不要带where等后面的语名)替代。
在代码中的sql语句就可以更据条件写上where语句。记得from前的语句在报表和代码中的保持一致。
scxs 2004-08-26
  • 打赏
  • 举报
回复
我在报表设计器中指定了数据表,在代码中曾也加入过SQL语句,但始终不能更新最新数据,就是不希望按REFRESH按扭
sangshuyezi 2004-08-26
  • 打赏
  • 举报
回复
下面这段代码是采用ADO数据源的。
Dim rptApp As New CRAXDRT.Application
Dim rpt As New CRAXDRT.Report
Dim rs As ADODB.Recordset
Dim Conn As ADODB.Connection

Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databasename.mdb;Persist Security Info=False"
Set rs = New ADODB.Recordset
'SqlString是你的数据查询语句。
rs.Open SQLString, Conn, adOpenKeyset, adLockReadOnly, 1
Set rpt = rptApp.OpenReport(App.Path & "\rpt\tmp_persontab.rpt")
Call rpt.Database.Tables(1).SetDataSource(rs)
rpt.DiscardSavedData
CRViewer1.ReportSource = rpt
CRViewer1.ViewReport

报表出现后即是数据库中最新的数据,在查看时有数据,可以让用户按"refresh"按扭完成或重新找开报表。
让refresh按扭出现的属性是CRViewer1.EnableRefreshButton=true

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧