Crystal Report en code

Résolu
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 - 14 juin 2005 à 11:42
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 - 9 nov. 2006 à 16:55
Bien le bonjour les pros de la prog...



Voilà, je suis en vb.net, et ce que j'aimerai c'est imprimer un .rpt
créé avec Crystal Report, mais sans passer par un report_viewer,

i.e : en code.

Je ne sais ni déclarer l'état, ni appeler la fonction print de crystal, ni établir la valeur d'un paramètre....

...

Merci pour votre aide, la plus infime soit-elle.. même.
.Maytheforcebewithyou.Maxime.

8 réponses

Shuyah2004 Messages postés 5 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 24 février 2006
14 juin 2005 à 17:10
Cette méthode imprime le nombre de pages spécifiées de ton rapport sur l'imprimante.

L'imprimante utilisée est celle que tu as sélectionné en utilisant la
propriété PrintOptions.PrinterName. Sinon c'est l'imprimante par défaut
qui est utilisée (donc tu dois avoir au moins une imprimante installée
sur ton système.

La méthode .PrintToPrinter que tu as essayé d'utiliser a été souligné parce que tu l'as mal paramétré. Procède ainsi:

ControlReport.PrintToPrinter 2,True,2,6

Cela signifie d'imprimer 2 copies, copies assemblées (valeur à true), de la page 2 à la page 6.



Bon travail!


Shuyah
3
Shuyah2004 Messages postés 5 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 24 février 2006
17 juin 2005 à 00:39
Salut,



Heureux que cela ai pu te servir.



Alors si tu veux imprimer tout le document (puisque effectivement on ne connait pas le nombre de pages), tu écris:




ControlReport.PrintToPrinter(2,True,0,0)

C'est à dire début de la page= 0 et fin de la page à la page 0.

Bonne poursuite!



Shuyah
3
Shuyah2004 Messages postés 5 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 24 février 2006
14 juin 2005 à 13:00
Salut TrafMaxime,



Je n'ai pas le plaisir d'avoir la version .NET de Vb, mais je te montre en VB6.



Veille à ce que soit installé dans le composant Crystl32.ocx (composant de CrystalReport, qui est gratuit).



1. Ajout du composant de Crystal Report (CR):

Dans projets/composants, recherche le composant nommé "Crystal Report
Control". Si Crystal report est installé sur ta machine, il doit avaoir
sa référence dans la liste. Coche-le.



2. Insertion de l'objet CR:

Sur ta form, insère le l'objet crystal report depuis la barre d'outils.
Supposons que le non donné à l'objet soit "CrystalReport1". Renomme le
plus simplement "Etat".

A un bouton "Imprimer", nous allons associer le code pour lancer l'impression de ton fichier RPT



3. Code pour l'impression:



'On suppose que ton fichier disque s'appelle "monetat.rpt" et qu'il est situé dans le 'répertoire de ton application.

Etat.ReportFileName=app.path & "monetat.rpt"

'Modifie le chemin de la base de données utilisée par ton fichier rpt

Etat.DataFiles(0)=CheminBD

'CheminBD est par exemple une variable globale dans laquelle tu as initialisé

'le chemin complet de la base de données

'Modifie la fomule de sélection des enregistrements de l'état

Etat.SelectionFormula="{Les Vendeurs.Code vendeur}='" & txtCode & "' and {Les vendeurs.sexe}=01"

'Remarque les accolades pour délimiter nom table et celui du champs. Nous avons

'Ici une table "Les vendeurs". Fait attention au type du champ pour savoir

'comment formater donnée que tu passes en paramètre. txtCode est un objet sur ta

'form

'Déclenche impression

Etat.Action=1
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
14 juin 2005 à 16:41
Merci pour ton aide, mais j'y suis pas encore... :

Je pense que Crystal Report est mal installé, ou plutot bloqué (car pas
registré...éhé..he) enfin bref j'ai trouvé Crystl32.ocx sur le net,
mais je ne peux pas l'ajouter à mes références pour la même raison
d'enregistrement... mais bon, je garde espoir en me disant que
peut-être qu'avec la soi-disante version de CR9.0 (!!) de vb.net, je
peux m'en passer mais là c'est le drame :

j'ai pas le composant 'Crystal Report Control' non plus... et pourtant
je garde espoir parceque j'en ai un paquet d'autres : (au moins une
dizaine, j'ai coché tout ce qui commencait par cr... dans les .net et
.com, bref : je m'engage armé...mais)

J'arrive maintenant à déclarer l'état. ouf...

Pour les paramètres, ca semble en bonne voie, mais malheureusement je
n'ai aucune fonction de dispo qui ressemble à une
impression (pas .action...)


à part : report.printtoprinter

mais on me la souligne

peut-être dois-je d'abord déclarer une imprimante ?...

si t'as une idée...



Merci encore, pour les indics aussi, vraiment très sympa


.Maytheforcebewithyou.Maxime.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
16 juin 2005 à 10:38
Super, c trop cool, je commence à avancer...



mais il me reste quelques petits détails du genre :

comment savoir combien de page il faut que j'imprime, pour avoir tout un groupe...?

si t'as 5mn, encore...

mais tu as fais déjà beaucoup, merci

.Maytheforcebewithyou.Maxime.
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
20 juin 2005 à 13:27
C'est ce que j'avais fini par trouver aussi : une bonne sélection, et imprimer tout le rapport.

Encore exact,

Encore merci !

.theforceiswithyou.Maxime.
0
traoreidrissa Messages postés 1 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 novembre 2006
7 nov. 2006 à 19:09
J'ai réalisé une appli en vb6 dans lequel j'ai généré un état avec crystal reports 4.6 qui utilise la propriété selectionformula pour afficher des enregistrements bien précis. il se trouve que quand j'installe l'appli sur un autre poste, mon état ne s'affiche pas alors que tous les autres états qui n'utilisent pas la propriété selectionformula s'affichent. Kelkun peut-il m'aider à resoudre ce problème?

ti
0
TrafMaxime Messages postés 288 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 26 janvier 2012 1
9 nov. 2006 à 16:55
hmm.. ébauche de tentative d'essai de réponse n°1 :

les autres Pc ont bien le bon framework d'installé ?.. tous ?

tu as bien inclus tes états dans ton projet de déploiement (ie soft d'installation..) ?

c'est tout ce qui me viens pour l'instant..
jamais rencontré se problème en faisant attention aux 2 points sus-dis...

encore un coup de vb6...

.Maytheforcebewithyou.Maxime.
0
Rejoignez-nous