Dynamic 水晶报告长安数据源
假设我有两个具有相同表的数据库。我希望能够保持相同的crystal报表,但可以动态地将数据源从一个数据库更改为另一个数据库。这可能吗?到目前为止,im使用VB6和crystal报表通过存储在数据库中的路径进行访问。是否存在可以动态更改的连接字符串,该字符串将更改特定报表所查看的数据库?谢谢试试以下方法:Dynamic 水晶报告长安数据源,dynamic,vb6,crystal-reports,datasource,Dynamic,Vb6,Crystal Reports,Datasource,假设我有两个具有相同表的数据库。我希望能够保持相同的crystal报表,但可以动态地将数据源从一个数据库更改为另一个数据库。这可能吗?到目前为止,im使用VB6和crystal报表通过存储在数据库中的路径进行访问。是否存在可以动态更改的连接字符串,该字符串将更改特定报表所查看的数据库?谢谢试试以下方法: Dim ObjApp as new Craxdrt.application Dim ObjRep as new Craxdrt.report Dim Con as new ADODB.Conn
Dim ObjApp as new Craxdrt.application
Dim ObjRep as new Craxdrt.report
Dim Con as new ADODB.Connection
Dim Rs as new ADODB.Recordset
Private sub form_Load() 'Or try to put it in a onClick() event, too
Dim ds as string
'Here you can change the datasource. Replace C:\Data.mdb
if SomethingYouNeed=True
ds="C:\Data.mdb"
else
ds="C:\AnotherData.mdb"
end if
Con.Open "Provider=Microsoft.Jet.Oledb.4.0; Datasource=" & ds
Rs.open "Select * from Client Where ClientName = 'Alfred'",con,AdopenStatic,AdlockOPtimistic
set objrep = objapp.open("C:\client.rpt")
objrep.Database.SetDatasource Rs
CrViewer.reportsource = objrep
CrViewer.ViewReport
End sub
这是可能的,下面是VB.NET的一个答案,演示了该技术。你知道VB6的一个例子吗?把你的代码和你的具体问题贴在一起,我相信你会得到帮助的。