水晶报表的数据源问题

白发程序猿 2006-03-30 11:23:39
我是用VB+水晶报表开发程序的,因为设计报表时用的数据库的地址和用户使用时的数据库地址是不样的,我现在想知道能不能打开报表时指定数据源,该怎么做?能给出详细的步骤更好,比如我设计时要注意什么,设置数据源时怎么做,有代码就更好了,谢谢!
...全文
167 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
白发程序猿 2006-05-22
  • 打赏
  • 举报
回复
不知是我那里做错了没
白发程序猿 2006-05-22
  • 打赏
  • 举报
回复
我试了一下,按你们提供的办法为什么行不通呢?我想要的是怎么去指定数据源即连接,只是设置RS没用
jannock 2006-04-21
  • 打赏
  • 举报
回复
Private Sub DataEnvironment_Initialize()
DataEnvironment1.Connection1.ConnectionString = "driver=sql server;server=服务器名;uid=sa;pwd=密码;database=数据库"
End Sub
白发程序猿 2006-04-21
  • 打赏
  • 举报
回复
对不起,因刚换了个工作,好久没来了,看上述代码应该是可行的吧,我还没试,试了再给分,如还有不同意见的,也写上来看看。
leayh 2006-03-31
  • 打赏
  • 举报
回复
如果你要程序中打开已经做好的水晶报表模板,那代码为:
Dim crApp As New CRAXDRT.Application
Dim crRpt As New CRAXDRT.Report
Dim Con As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim strSql As String

strSql = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Crystal Decisions\Crystal Reports 9\Samples\chs\Databases\xtreme.mdb;Persist Security Info=False"
Con.Open strSql
strSql = "SELECT top 5 客户.*, 订单.* FROM 客户 INNER JOIN 订单 ON 客户.[客户 ID] = 订单.[客户 ID] order by 客户.[客户 ID], 订单.[订单 ID]"
Rst.Open strSql, Con, adOpenStatic, adLockReadOnly, adCmdText
Set crRpt = crApp.OpenReport(App.Path & "\order.rpt")
crRpt.DiscardSavedData
crRpt.Database.SetDataSource Rst, 3, 1
crRpt.Database.SetDataSource Rst, 3, 2
crRpt.EnableParameterPrompting = False

CRV.ReportSource = crRpt
CRV.DisplayBackgroundEdge = False
CRV.DisplayGroupTree = False
CRV.Refresh
CRV.ViewReport
leayh 2006-03-31
  • 打赏
  • 举报
回复
数据源和连接服务器当然可以临时指定,连接服务器的字符串我就不写出了,只给出指定水晶报表的数据源的示例代码吧,供参考:
Dim CRpt As New CrystalReport
'CRV是显示控件
CRpt.Database.SetDataSource Rst
CRpt.PaperSize = crPaperA4
CRpt.PaperOrientation = crPortrait
CRV.ReportSource = CRpt
CRV.ViewReport

1,216

社区成员

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

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