水晶报表如何才能更新问题,请教各位!

掬水月在手 2004-01-08 05:27:56
我在VB6里引用水晶报表9.1。用以下代码实现报表生成,但有一个问题:我只能在第一次生成报表时得到正确的信息,以后如果再次生成报表的话,都只显示第一次的结果,该如何清空报表的数据,然后再生成报表呢?一下是我的代码:
Private Sub Form_Load()
Dim strSQL As String
Dim i As Long
Dim capp As New CRAXDRT.Application
Dim carp As New CRAXDRT.Report

Dim rs As ADODB.Recordset

Me.Show

Set rs = New ADODB.Recordset

strSQL = "select * from actionrecord where actiontime between '" & StartDate & "' and '" & EndDate & "' and actor='" & strActor & "'"

If rs.State = adStateOpen Then rs.Close
rs.Open strSQL, cn, adOpenStatic, adLockReadOnly

Set carp = Report

For i = 1 To carp.Database.Tables.Count
If carp.Database.Tables.Item(i).Name = "ActionRecord" Then
carp.Database.Tables(i).SetDataSource rs
End If
Next

CRViewer91.ReportSource = carp
CRViewer91.ViewReport
Screen.MousePointer = vbHourglass
Screen.MousePointer = vbDefault

End Sub
...全文
22 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
rocllllll 2004-01-09
  • 打赏
  • 举报
回复
在你报表的parameter中加一参数IntTest(integer),然后你每次调用报表时,传一参数
每次自动加1即可,因为crystal有cache,他会自动保存数据(菜单file的savedata)

1,216

社区成员

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

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