Accueil > > > VISUAL BASIC 6 ET CRYSTAL REPORT 8.5
VISUAL BASIC 6 ET CRYSTAL REPORT 8.5
Information sur la source
Description
J'ai cherché un peu partout comment arriver à faire tourner VB6 et Crystal Report et une base Access. Ce que j'ai trouve ne me paraissait pas tres clair j'ai donc essaye de faire un truc dynamique. En fonction de l'ecran d ou vient la demande d'impression, le ou les parametres à passer à Crystal sont declarées en variables globales ainsi que la requete. Le code ci-dessous vous montre comment fonctionne le lancement de l impression.
Source
- ' la fenetre apercu qui contient le composant CRview
-
- Dim RsRapport As New ADODB.Recordset ' jeu d’enregistrements
- Dim lStrSql As String ' Contient l’ordre SQL pour le recordset
- Dim lStrConnect As String ' Contient la chaîne de connection à la base
- Dim Report As New CRAXDRT.Report
- Dim ApplicationReport As New CRAXDRT.Application
- Dim Parametres As New CRAXDRT.ParameterValue
- Dim ChampParametre As String
- Dim CRXPFDParametres As CRAXDRT.ParameterFieldDefinitions
- Dim CRXPFD As CRAXDRT.ParameterFieldDefinition
-
-
-
- Private Sub Form_Load()
-
- ' Change le pointeur de souris en sablier
- MousePointer = vbHourglass
-
- ' Initialise le recordset avec la requête et l’objet connection
- RsRapport.Open RequeteCrystal, Cn
- ' Instancie l'objet application
- Set ApplicationReport = New CRAXDRT.Application
- ' Lance la visualisation du rapport
- Set Report = ApplicationReport.OpenReport(FichierRpt)
- ' Indique à l'objet de visualisation que les données viennent du rapport
- CRViewer1.ReportSource = Report
- ' Définiton de la chaîne de caractères destinée à être inserée dans le rapport
- DynFieldStr = TitreFilm
- ' Récupère la collection des champs paramètre du rapport
- Set CRXPFDParametres = Report.ParameterFields
- If Report.ParameterFields.Count <> 0 Then
- 'boucle pour recuperer les parametres de l etat
- For i = 1 To Report.ParameterFields.Count
- ' Récupère le premier champ paramètre de la collection
- Set CRXPFD = CRXPFDParametres.Item(i)
- ' Ajoute la chaîne de caractères au champ paramètre
- CRXPFD.AddCurrentValue (DynFieldStr)
- Next
- End If
- ' Lance la visualisation du rapport
- CRViewer1.ViewReport
- ' Le pointeur de souris redevient normal une fois le chargement effectué
- MousePointer = vbNormal
-
- RsRapport.Close
-
- End Sub
-
- 'Le code qui appelle la fenetre ci dessus
- TitreFilm = Mid(frmdetail.Caption, 20)
- RequeteCrystal = "select * from films where film_nom='" & Mid(Me.Caption, 20) & "'"
- FichierRpt = "C:\program files\videotheque\Rpt\Fiche_Film.rpt"
- frmApercu.Show
' la fenetre apercu qui contient le composant CRview
Dim RsRapport As New ADODB.Recordset ' jeu d’enregistrements
Dim lStrSql As String ' Contient l’ordre SQL pour le recordset
Dim lStrConnect As String ' Contient la chaîne de connection à la base
Dim Report As New CRAXDRT.Report
Dim ApplicationReport As New CRAXDRT.Application
Dim Parametres As New CRAXDRT.ParameterValue
Dim ChampParametre As String
Dim CRXPFDParametres As CRAXDRT.ParameterFieldDefinitions
Dim CRXPFD As CRAXDRT.ParameterFieldDefinition
Private Sub Form_Load()
' Change le pointeur de souris en sablier
MousePointer = vbHourglass
' Initialise le recordset avec la requête et l’objet connection
RsRapport.Open RequeteCrystal, Cn
' Instancie l'objet application
Set ApplicationReport = New CRAXDRT.Application
' Lance la visualisation du rapport
Set Report = ApplicationReport.OpenReport(FichierRpt)
' Indique à l'objet de visualisation que les données viennent du rapport
CRViewer1.ReportSource = Report
' Définiton de la chaîne de caractères destinée à être inserée dans le rapport
DynFieldStr = TitreFilm
' Récupère la collection des champs paramètre du rapport
Set CRXPFDParametres = Report.ParameterFields
If Report.ParameterFields.Count <> 0 Then
'boucle pour recuperer les parametres de l etat
For i = 1 To Report.ParameterFields.Count
' Récupère le premier champ paramètre de la collection
Set CRXPFD = CRXPFDParametres.Item(i)
' Ajoute la chaîne de caractères au champ paramètre
CRXPFD.AddCurrentValue (DynFieldStr)
Next
End If
' Lance la visualisation du rapport
CRViewer1.ViewReport
' Le pointeur de souris redevient normal une fois le chargement effectué
MousePointer = vbNormal
RsRapport.Close
End Sub
'Le code qui appelle la fenetre ci dessus
TitreFilm = Mid(frmdetail.Caption, 20)
RequeteCrystal = "select * from films where film_nom='" & Mid(Me.Caption, 20) & "'"
FichierRpt = "C:\program files\videotheque\Rpt\Fiche_Film.rpt"
frmApercu.Show
Historique
- 08 février 2007 12:02:59 :
- J'avais oublie de mettre les déclarations de la partie generale de la form
- 08 février 2007 14:18:48 :
- J'ai modifie le sourece...en effet cette fenetre apercu telle qu elle etait codee initialement attendait des parametres. Donc j ai insere une verif sur la presence de parametre(s) dans l etat et un boucle de lecture le cas echeant..... et ca marche nickel........
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Apercu avant impression VB6 [ par Steph ]
BonjourComment faire un apercu avant impression en mode paysage avec un DataReport ?
PROBLEME IMPRESSION VB6 + CRYSTAL REPORT [ par chris ]
Salut tout le monde.Voilà le problème.J'ai une application qui me permet d'imprimer des rapports. Ces rapports sont créé via Crytal Report 8.5 . Je tr
Impression d'un état ACCESS à partir de VB6 [ par Gadiom ]
S'il vous plait, j'aimerais savoir comment imprimer un état ACCESS à partir de VB 6.0.
Astuce impression continu sous VB6 (urgent) [ par Victorien ]
Salut Prière de bien vouloir me trouver l'astuce(code) permettant de faire les impressions en continu avec Visual Basic 6. En effet l'éditeur Datarepo
impression d'une forme avec VB6 URGENT URGENT [ par tafat ]
Salut a tous.j'ai un probleme d'impression sous VB.j'ai developpe une appli client/serveur.je veux juste imprimer la forme j'ai don ccri le code suiva
IMPRESSION D'UNE GRILLE DANS VB6 [ par PIF2 ]
bonjour,pouvez vous m'aider pour connaitre la procedure d'impression de l'objet grille dans vb6.en effet,il n'existe pas d'instruction pour cette oper
Impression en Paysage dans vb6 [ par veloce ]
Est ce quelqu'un peut me donner un truc pour passer des états en mode paysage avec VB6.Je n'ai rien trouvé dans le HELP, et mes essais tels que config
Création dynamique d'objets sous VB6 [ par aanabil ]
Bonjour à tous !J'aimerais savoir si qqun sait comment faire pour créer en dynamique des objets sous VB6 : des boutons, des champs textes, des labels,
URGENT Tableau croisé dynamique en VB6 [ par Damdamdeo ]
Salut,Je me prends la tête depuis un bon moment sur un tableau croisé dynamique que je fais à l'aide d'un MSFlexGrid et 16 ComboBox.Je n'ai pas de que
graphique vb6 + impression [ par fylooo ]
Bonjour,Je dois faire un projet avec des graphiques venant d'une base ACCESS 2000 et je n'arrive pas trop au code et encore moins a l'impression.C'est
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
TéLéCHARGEMENTTéLéCHARGEMENT par bernardPare
Cliquez pour lire la suite par bernardPare
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|