数据源和连接服务器当然可以临时指定,连接服务器的字符串我就不写出了,只给出指定水晶报表的数据源的示例代码吧,供参考: Dim CRpt As New CrystalReport 'CRV是显示控件 CRpt.Database.SetDataSource Rst CRpt.PaperSize = crPaperA4 CRpt.PaperOrientation = crPortrait CRV.ReportSource = CRpt CRV.ViewReport
如果你要程序中打开已经做好的水晶报表模板,那代码为: 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 StringstrSql = "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 = FalseCRV.ReportSource = crRpt CRV.DisplayBackgroundEdge = False CRV.DisplayGroupTree = False CRV.Refresh CRV.ViewReport
Private Sub DataEnvironment_Initialize() DataEnvironment1.Connection1.ConnectionString = "driver=sql server;server=服务器名;uid=sa;pwd=密码;database=数据库" End Sub
Dim CRpt As New CrystalReport
'CRV是显示控件
CRpt.Database.SetDataSource Rst
CRpt.PaperSize = crPaperA4
CRpt.PaperOrientation = crPortrait
CRV.ReportSource = CRpt
CRV.ViewReport
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 StringstrSql = "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 = FalseCRV.ReportSource = crRpt
CRV.DisplayBackgroundEdge = False
CRV.DisplayGroupTree = False
CRV.Refresh
CRV.ViewReport
DataEnvironment1.Connection1.ConnectionString = "driver=sql server;server=服务器名;uid=sa;pwd=密码;database=数据库"
End Sub