Définir en dynamique en VB un nouvel emplacement de la source de données - Cryst
luddoo91
Messages postés4Date d'inscriptionlundi 6 août 2007StatutMembreDernière intervention 5 février 2010
-
3 févr. 2010 à 15:45
luddoo91
Messages postés4Date d'inscriptionlundi 6 août 2007StatutMembreDernière intervention 5 février 2010
-
5 févr. 2010 à 13:11
BONJOUR
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
luddoo91
Messages postés4Date d'inscriptionlundi 6 août 2007StatutMembreDernière intervention 5 février 20101 5 févr. 2010 à 13:11
j'ai réussi, j'ai modifié le programme:
'************* 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