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
...全文
47 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过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
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-08-26 02:00
社区公告
暂无公告