Visual basic 6 et crystal report 8.5

Soyez le premier à donner votre avis sur cette source.

Snippet vu 21 259 fois - Téléchargée 23 fois

Contenu du snippet

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 / Exemple :


' 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

A voir également

Ajouter un commentaire

Commentaires

cs_Platon
Messages postés
47
Date d'inscription
jeudi 30 août 2001
Statut
Membre
Dernière intervention
6 avril 2007
-
Un petit zip avec un exemple serait plus adéquat, de plus seuls les personnes ayant une version récente de crystal-report peuvent se servir de ce code.
cs_asimengo
Messages postés
281
Date d'inscription
jeudi 24 mars 2005
Statut
Membre
Dernière intervention
18 mars 2009
-
Ton code m'intéresse bien. C'est depuis peu que j'ai installé crystal report 8.5 et ça me parait vachement bien. Un exemple complet serait l'idéal déjà CRAXDRT c'est quoi, kel référence faut-il ajouter?
Ton code est assez clair mais un petit exemple serait idéal.

ASIMENGO
cs_asimengo
Messages postés
281
Date d'inscription
jeudi 24 mars 2005
Statut
Membre
Dernière intervention
18 mars 2009
-
ce lien est plus clair www.meusburger.net/matthias/CV/stageMSG/documents/Annexes/Annexes_5.pdf pour ceux qui veulent en savoir mieux, les references aux composants à inclure sont indiquées.

Bonne prog

ASIMENGO.
chouchou270403
Messages postés
46
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
30 octobre 2007
-
Salut à tous, c'était pour vous dire que si vous voulez utiliser CrystalReport avec VB6 pour faire des impression, il y a vachement plus simple que ça et très professionnel ! Si cela vous interesse je peux poster un petit programme avec les explications....

Je ne me vente pas, c'est ce que je vois à l'école hihihihi

Allez bonne fin de soirée à tous

J-il
Asrix
Messages postés
8
Date d'inscription
dimanche 23 novembre 2003
Statut
Membre
Dernière intervention
4 janvier 2009
-
Concernant CrystalReport 8.5 et VB6, j'ai un problème d'impression: c'est que doit préciser toujours le nom de l'imprimante que je vais utiliser? Ma question : Comment faire pour utiliser l'imprimante par défaut ? Bon! Je sais que ça marche ; mais pas avec tout les imprimantes. Autre chose: quand je précise l'imprimante au moment de l'impression je doit redémarrer l'application pour que la novelle imprimante prend effet...

Asrix
Merci d'abord!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.