2009-12-22 56 views
0

使用VB6和水晶报告9如何刷新水晶报表?

在我的软件中,当我查看我的报告时,它显示一个旧数据,如果每次我必须刷新我的报告时数据发生任何更改。如何在运行我的软件时自动刷新报告。

代码

Dim crApp As CRAXDRT.Application 
Dim Report As CRAXDRT.Report 
Set crApp = New CRAXDRT.Application 
Set Report = crApp.OpenReport(App.Path & "\ScheduleReport.rpt") 
CRViewer1.ReportSource = Report 
CRViewer1.ViewReport 
CRViewer1.EnableExportButton = True 
CRViewer1.DisplayGroupTree = False 
CRViewer1.EnableSearchControl = False 
CRViewer1.Zoom (100) 

我试过CRViewer1.refresh,其示值误差

如何刷新在我的代码本身的报告。

需要VB6代码帮助

回答

4

尝试将观众之前丢弃保存的数据报表源

Report.DiscardSavedData 
CRViewer1.ReportSource = Report 
+0

您也可以编辑该报告并取消选中“保存与报表数据”选项在文件菜单下。 – dotjoe 2009-12-23 16:15:43

0
'After searching hours...this is the solution for Refresh...... 
Dim Appl As New CRAXDRT.Application 
Dim rpt As New CRAXDRT.Report 

Private Sub CRV1_RefreshButtonClicked(UseDefault As Boolean) 
    CRV1.Refresh 
End Sub 

Private Sub Form_Activate() 
    CRV1_RefreshButtonClicked True 'This EVENT IS IMPORTANT FOR REFRESH 
End Sub 

Private Sub Form_Load() 
    ReportPath = App.Path & "\YourReportFile.rpt" 
    Set Appl = New CRAXDRT.Application 
    Set rpt = Appl.OpenReport(ReportPath) 
    If rpt.HasSavedData Then rpt.DiscardSavedData 
    rpt.VerifyOnEveryPrint = True 
    CRV1.ReportSource = rpt 
    CRV1.Refresh 
    CRV1.ViewReport 
End Sub