i have a payroll program that can start new companies, a company has its own database. they will always be the same tables etc inside all the databases/companies.
now i have done a report in crystal reports. now i want to use jst that report for all the companies that will be created.
I have changed the servername and databasename at runtime but it still brings back the information from the company that i designed the report on....
is there something that im missing.
- Dim report As New ReportDocument
-
Dim connection As IConnectionInfo
-
Dim oldServerName As String = ""
-
Dim oldDatabaseName As String = ""
-
Dim newServerName As String = TextBox1.Text
-
Dim newDatabaseName As String = "dude"
-
Dim UserID As String = ""
-
Dim Password As String = ""
-
-
-
report.Load("C:\report2.rpt")
-
CrystalReportViewer1.ReportSource = report
-
-
'Change the server name and database in main report
-
For Each connection In report.DataSourceConnections
-
If (String.Compare(connection.ServerName, oldServerName, True) = 0 _
-
And String.Compare(connection.DatabaseName, oldDatabaseName, True) = 0) Then
-
'SetConnection can also be used to set new logon and new database table
-
report.DataSourceConnections(oldDatabaseName, oldDatabaseName).SetConnection(newServerName, newDatabaseName, UserID, Password)
-
End If
-
Next
-
'Change the server name and database subreports
-
Dim subreport As ReportDocument
-
For Each subreport In report.Subreports
-
For Each connection In subreport.DataSourceConnections
-
If (String.Compare(connection.ServerName, oldServerName, True) = 0 _
-
And String.Compare(connection.DatabaseName, oldDatabaseName, True) = 0) Then
-
subreport.DataSourceConnections(oldServerName, oldDatabaseName).SetConnection(newServerName, newDatabaseName, UserID, Password)
-
End If
-
Next
-
Next