Visual Basic For Application VBA
Note de Recherches : Visual Basic For Application VBA. Recherche parmi 300 000+ dissertationsPar macnoman • 23 Mai 2013 • 2 462 Mots (10 Pages) • 1 191 Vues
47
Matthias MEUSBURGER
MSG Software
Avril-Mai 2001
Manuel d’intégration à
Visual Basic
Annexe C : Documentation interne concernant Crystal Reports
Partie 2 : Manuel d’intégration à Visual Basic
48
Ce document présentes diverses manières d’insérer un état dans une application Visual
Basic, avec, à chaque fois, une méthode correspondante. Les différentes méthodes employées ici
ne sont pas uniques. En effet, pour chaque cas, il existe différentes méthodes associées à
différents modules Visual Basic fournis avec Crystal Reports. Cependant, j’ai essayé, pour
chaque cas, de présenter la méthode la plus appropriée, et surtout, la plus abordable.
I L’intégration brute d’un rapport
Le terme « intégration brute » désigne ici le fait d’insérer dans une application Visual
Basic un rapport tel qu’il a été conçu dans Crystal Reports, sans y apporter de modifications.
1) Utilisation de Crystal Reports Viewer
a) Il faut tout d’abord ajouter au projet les composants nécessaires à Crystal Reports qui
sont :
Références :
Crystal Report Viewer Control
Crystal Report 8 ActiveX Report Designer Run Time Library
crviewer.oca
craxdrt.dll
Contrôles: Crystal Report Viewer Control crviewer.dll
Objets à insérer : Crystal Report Viewer Control activex.dll
b) Ensuite, créer une feuille et y placer un composant CRViewer, qui sera normalement
appelé "CRViewer1" par défaut.
c) Ensuite, il faut insérer le code suivant :
Déclaration :
Dim app As CRAXDRT.Application
Dim Report As CRAXDRT.Report
Private Sub Form_Load()
' Change le pointeur de souris en sablier
Screen.MousePointer = vbHourglass
' Instancie l'objet application
Set app = New CRAXDRT.Application
' Ouvre le rapport existant
Set Report = app.OpenReport("C:\chemin\du\fichier\nom_de_fichier.rpt")
' Indique à l'objet de visualisation que les données viennent du rapport
CRViewer1.ReportSource = Report
' Lance la visualisation du rapport
CRViewer1.ViewReport
' Le pointeur de souris redevient normal une fois le chargement effectué
Screen.MousePointer = vbDefault
End Sub
Annexe C : Documentation interne concernant Crystal Reports
Partie 2 : Manuel d’intégration à Visual Basic
49
Private Sub Form_Resize()
' Cette partie permet de redimensionner la fenêtre de visualisation
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
' Note : cette partie restant constante quel que soit le cas de figure, elle ne sera pas réécrite
dans les exemples suivants.
End Sub
Private Sub Form_Unload()
' On décharge la mémoire des objets instanciés précédemment
Set app = Nothing
Set Report = Nothing
Set Me = Nothing
' Note : cette partie ne sera pas réécrite non plus dans les exemples suivants
End Sub
Cependant, lors d’une connexion sécurisée à la base de données, ce code générera un
message d’erreur : « Le serveur n’a pas encore été ouvert ». Pour faire fonctionner
l’application, il faut reprendre la partie Form_Load() de cette manière :
Private Sub Form_Load()
Dim i As Integer
' Change le pointeur de souris en sablier
Screen.MousePointer = vbHourglass
' Instancie l'objet application
Set app = New CRAXDRT.Application
' Ouvre le rapport existant
Set Report = app.OpenReport("C:\chemin\du\fichier\nom_de_fichier.rpt ")
' Pour chaque table du rapport
For i = 1 To Report.Database.Tables.Count
' On connecte la table à la base de données
Report.Database.Tables(i).SetLogOnInfo "Nom_du_serveur", _
["Nom_de_la_base"], ["Nom_de_user"], ["Mot_de_passe"]
' Note : les paramètres entre crochets sont optionnels
Next i
' Indique à l'objet de visualisation que les données viennent du rapport
...