Bonjour,
J'ai créer un rapport crystal avec une base de données SQL SERVER 2005.
Dans le but de me connecter à plusieurs base dynamiquement, j'utilise des paramêtres de connexion dans VB.
Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 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 '************* VIEWER ************* Viewer.CRViewer.ReportSource = CRRapport Viewer.CRViewer.ViewReport '************* DECHARGEMENT ************* ' On décharge la mémoire des objets instanciés précédemment Set CRApp = Nothing Set CRRapport = Nothing End Sub
Malgré les tentatives, le rapport utilise toujours la même base, celle qui a servi pour créer le rapport initial.
Merci de m'aider.
Partager