Crystal Reports更改数据源

时间:2014-02-12 21:44:02

标签: dynamic vb6 crystal-reports datasource

假设我有两个具有相同表格的数据库。我希望能够保留相同的水晶报告,但是将DataSource从一个数据库动态更改为另一个数据库。这甚至可能吗?截至目前我使用VB6并通过存储在数据库中的路径访问晶体报告。是否存在可以动态更改的连接字符串,这将更改特定报告正在查看的数据库?感谢

1 个答案:

答案 0 :(得分:0)

尝试类似:

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