J'ai créer un rapport crystal avec une base de données SQL SERVER 2005.
Dans le but de me connecter à plusieurs bases dynamiquement, j'utilise des paramètres de connexion dans VB.
Voici le code :
Private Sub Form_Load()
Dim RepRapport As String
Dim Server As String
Dim Db As String
Dim User As String
Dim Pwd As String
Dim CRApp As CRAXDRT.Application
Dim CRRapport As CRAXDRT.Report
'************* PARAMETRES DYNAMIQUES *************
' ces paramètres vont être initialisés par formulaire
Server = "nom_serveur"
Db = "nom_base"
User = "sa"
Pwd = "sasa"
'************* INSTANTIATION DE L'OBJET APPLICATION *************
Set CRApp = New CRAXDRT.Application
'************* OUVERTURE RAPPORT *************
Set CRRapport = CRApp.OpenReport("C:\rapport.rpt")
'************* TABLES *************
' Pour chaque table du rapport
For i = 1 To CRRapport.Database.Tables.Count
' On connecte la table à la base de données
CRRapport.Database.Tables(i).SetLogOnInfo Server, Db, User, Pwd
Next i
'************* TABLES *************
' Pour chaque table du rapport
For i = 1 To CRRapport.Database.Tables.Count
' On connecte la table à la base de données
CRRapport.Database.Tables(i).SetLogOnInfo Server, Db, User, Pwd
CRRapport.Database.Tables(i).Location = Trim(Db) + ".dbo." + Trim(CRRapport.Database.Tables(i).Name)
Next i