水晶报表修改数据源属性

清海扬波 2008-11-05 11:56:32
在连接水晶报表的时候发现显示的数据是设计时候的数据库数据,如果在运行的时候用SetLogonInfo重新设置没有用,这样就造成在连接新的库的时候出现打印没有数据的情况,检查报表,发现在数据源属性里面看到有个初始目录,连接的一直是这个数据库里面的数据,那么怎么才能修改这个属性,或者有其他什么方法是能够实现动态改变连接的数据库的,请各位帮忙。
...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
清海扬波 2008-11-26
  • 打赏
  • 举报
回复
已经解决,在logoninfo之后加一句.Location=.Location
ChinaITOldMan 2008-11-26
  • 打赏
  • 举报
回复
一般情况不用设置SetLogonInfo的
T315608 2008-11-26
  • 打赏
  • 举报
回复
正常情况下不用设置登录信息的
zuoxingyu 2008-11-25
  • 打赏
  • 举报
回复

Screen.MousePointer = vbHourglass
'Set rs = Cnn.Execute("select * from VDetail ")
Dim CApp As New CRAXDRT.Application
Dim CRpt As New CRAXDRT.Report
Dim i As Integer
Set CRpt = CApp.OpenReport(App.Path & "\Data\DayReport.rpt")
CRpt.Database.Tables(1).SetDataSource rs ’这里的记录集是通过SQL语句得到的

'CRpt.ParameterFields.Item(1).AddCurrentValue "姓名:" & Text2.Text
'CRpt.ParameterFields.Item(2).AddCurrentValue "工号:" & Text1.Text

'CRpt.ParameterFields.Item(3).AddCurrentValue "开始时间:" & DTP1.Value & " 结束时间:" & DTP2.Value

frmView.CR.ReportSource = CRpt
frmView.CR.ViewReport
frmView.CR.Zoom 100
frmView.CR.Width = Me.ScaleWidth
frmView.CR.Height = Me.ScaleHeight
frmView.Show vbModal
Screen.MousePointer = vbDefault

clleady 2008-11-06
  • 打赏
  • 举报
回复
1,水晶报表软件中自己预览的话对象是全体数据库的,不是动态的,好像按哪个刷新按钮也是没用的。
2,我提供一段能动态运行的代码给你参考
Private Sub Form_Load()
Dim oApp As New CRAXDRT.Application
Dim oRpt As CRAXDRT.Report
Dim reportName As String
Screen.MousePointer = vbHourglass
Set oRpt = oApp.OpenReport(App.Path & "\Reportwlxz.rpt") '报表默认是加载所有数据
If Flag1 = 2 Then
oRpt.Database.SetDataSource rs3
End If
If Flag1 = 1 Then
oRpt.Database.SetDataSource rs4
End If
oRpt.ReadRecords
CRViewer1.ReportSource = oRpt '启用水晶报表的预览功能
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub

Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
End Sub
清海扬波 2008-11-05
  • 打赏
  • 举报
回复
没有人,自己顶

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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