Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VISUAL BASIC 6 ET CRYSTAL REPORT 8.5


Information sur la source

Catégorie :Trucs & Astuces Classé sous : crystal85, vb6, impression, dynamique, basededonnees Niveau : Initié Date de création : 08/02/2007 Date de mise à jour : 08/02/2007 14:18:48 Vu : 11 727

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

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........

Commentaires et avis

signaler à un administrateur
Commentaire de Platon le 09/02/2007 08:26:19

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.

signaler à un administrateur
Commentaire de asimengo le 09/02/2007 10:18:16

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

signaler à un administrateur
Commentaire de asimengo le 09/02/2007 18:00:17

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.

signaler à un administrateur
Commentaire de chouchou270403 le 10/02/2007 23:02:00

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

signaler à un administrateur
Commentaire de Asrix le 11/02/2007 02:40:40

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!

signaler à un administrateur
Commentaire de Platon le 11/02/2007 11:06:57

Bonjour

En réponse à chouchou270403 On veut bien un petit bout de code

Merci

signaler à un administrateur
Commentaire de chouchou270403 le 11/02/2007 11:08:43

Ok je vais regarder après ma source et la mettre sur le forum...

signaler à un administrateur
Commentaire de chouchou270403 le 11/02/2007 11:17:45

Re à tous,

Voila j'ai juste un gros soucis c'est que je fichier .rar du projet est super gros il fait 1,38 Mo onc je ne peux le mettre sur le site VBFrance... Mais il est présent sur le forum que nous avons fait avec des potes pour notre section informatique. Voici l'adresse où se trouve le sujet http://membres.lycos.fr/tfmteam/viewforum.php?f=3

Il faut absolument vous inscrire sur le forum, inscription gratuite biensur afin de pouvoir voir les sources etc car nous y avons beaucoup de petite astuces etc. par la même occasions, vous pourrais éventuellement contribuer au forum lol

Le fichier rar comprend le projet complet ainsi que l'était d'impression CrystalReport et il fichier txt d'explications. Ne surtout pas oublier de renommer vos chemin car je n'ai pas eu le temps de faire des App.path pour la bdd et l'objet Crystalreport. en cherchant un rien et en lisant le txt vous comprendrez et les manipulations seront aisées !

Bon taf à tous j'espère que cela vous convient si pas ben cherchez ailleurs mdr

J-il

signaler à un administrateur
Commentaire de zazasys le 30/10/2007 18:37:03

tfou

signaler à un administrateur
Commentaire de sadabdelali le 14/12/2007 18:15:09

9awad nta o code dialak

Ajouter un commentaire

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


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,34 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.