UTILITAIRE CRYSTAL REPORTS

anvert Messages postés 12 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 17 septembre 2007 - 19 déc. 2005 à 11:54
bdl20042000 Messages postés 63 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 19 mai 2009 - 11 févr. 2011 à 09:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35137-utilitaire-crystal-reports

bdl20042000 Messages postés 63 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 19 mai 2009
11 févr. 2011 à 09:26
Pour ceux qui comme moi sont en train de passer à VS 2010.(après avoir installé CRforVS_13_0 trouver sur le site de SAP)
Vous deviez rencontrer un problème à l'initialisation de la classe car il indique qu'il manque le fichier "DefaultAnimation.gif".
Pour contourner le problème, dans les propriétés du projet - Ressources, j'ai ajouté une image vide en format GIF avec comme nom "DefaultAnimation" - puis dans l'Explorateur de solutions, je suis aller retrouver le fichier pour pouvoir changer son propriété "Action de génération" pour sélectionner "Ressource incorporée" au lieu de "Aucun" par défaut.
msm02 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 10 février 2010
10 févr. 2010 à 11:42
oki merci je lé fé mé je trouve ps qlq chose du bien
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
10 févr. 2010 à 11:39
Lance une recherche sur google. Les bons tutos sont plutôt rares Crystal Reports étant un produit essentiellement commercial...
msm02 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 10 février 2010
10 févr. 2010 à 11:17
merci ADDY tu peux m'aider pour trouver un cours ou bien un document qui explique crystale rporte
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
10 févr. 2010 à 10:46
Essaie CrystalReport11.DataDefinition.FormulaFields("msm").Text = "'" & TextBox1.Text.Replace("'", "''") & "'". Si ça ne marche toujours pas, alors le champ "msm" de ton état n'est probablement pas un champ de formule. Dans ce cas, jette un coup d'oeil à la doc de Crystal Reports pour trouver comment créer une formule.
msm02 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 10 février 2010
10 févr. 2010 à 00:04
merci ADDY pour vos reponse mé j essayé de faire ce que tu ma dit mé il n'affiche R1

voilà le code que jé utilisé :

CrystalReport11.DataDefinition.FormulaFields("msm").Text = TextBox1.Text
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
9 févr. 2010 à 16:07
Jette un coup d'oeil au code-source de CRHelper, tu trouveras que la propriété FormulaText de CRHelper mappe en réalité l'expression m_Report.DataDefinition.FormulaFields(nom_fomule).Text. Donc dans ton cas, il te suffit de faire référence à CrystalReport11.DataDefinition.FormulaFields(nom_fomule).Text
msm02 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 10 février 2010
8 févr. 2010 à 21:52
merci bcp addy mé j itulise l'assistant de vb pour ajouté un nouvelle element crystal report et jé ajouté un nouveau champs dans l'explorateur des champs mé quand jé fé par exemple

CrystalReport11 .formuletext("nom_champ")=.............. erreur " formulatext né pas un

membre de windowsapplication.crystalreport1" ?
merci .
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
8 févr. 2010 à 11:29
Défini un champ de formule dans l'état et affecte-lui la valeur du contrôle comme ceci:
myCRHelper.FormulaText("MaFormule") = "'" & txtFormule.Text.Replace("'", "''") & "'"
msm02 Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 10 février 2010
6 févr. 2010 à 15:09
bjr je veux mettre le contenu d'un combobox ou b1 textbox choisir apartire de la forme et le metté dans le contenu de crystal report ???
merci d'avance
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
21 janv. 2009 à 09:03
Excellent!
On pourrait cependant faire que le format par défaut soit déduit de l'extension du nom de fichier de destination. Pour obtenir ce comportement, il suffit de retirer le mot clé 'Optional' et l'initialisation qui encadrent le paramètre 'format' de la méthode ci-dessus et d'ajouter la surcharge suivante:

Public Sub SaveAs(ByVal nomFichier As String)
SaveAs(nomFichier, IO.Path.GetFileNameExtension(nomFichier).Substring(1))
End Sub
bdl20042000 Messages postés 63 Date d'inscription mercredi 18 août 2004 Statut Membre Dernière intervention 19 mai 2009
20 janv. 2009 à 15:24
merci pour ce code qui me simplifie la gestion des rapports.
pour ceux qui ont cherché, un moment comme moi, à enregistrer le rapport sans l'afficher.
voici le code que j'ai rajouté :
' Sauvegarde le rapport dans un fichier en format PDF, XLS, WORD, RTF, HTM
' sans afficher à l'écran le rapport
Public Sub SaveAs(ByVal nomFichier As String, Optional ByVal format As String = "PDF")
Dim crExportOptions As ExportOptions
Dim crDiskFileDestinationOptions As New DiskFileDestinationOptions
Dim strFormat As String = format.ToUpper

crDiskFileDestinationOptions.DiskFileName = nomFichier

crExportOptions = m_Report.ExportOptions
crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile
crExportOptions.DestinationOptions = crDiskFileDestinationOptions

Select Case strFormat
Case "XLS"
crExportOptions.ExportFormatType = ExportFormatType.Excel
Case "DOC"
crExportOptions.ExportFormatType = ExportFormatType.WordForWindows
Case "RTF"
crExportOptions.ExportFormatType = ExportFormatType.RichText
Case Else
crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat
End Select

Try
m_Report.Export()
Catch ex As Exception
MessageBox.Show(ex.Message, ex.Source, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub

il ne reste plus qu'à l'appeler via un CRH.SaveAs("C:\test.pdf") pour l'enregistrer en format PDF (celui par défaut) ou CRH.SaveAs("C:\test.xls","xls") si en format Excel etc.
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
27 août 2007 à 05:02
Le fournisseur de données n'a aucune importance dans ce cas. Il te suffit d'avoir l'API correspondante et dans ton cas, il s'agit de MySQL.Data disponible en téléchargement sur le site de MySQL AB. Pour le reste, une fois que tes données sont contennues dans un DataSet, tout se passe sans problème.
prince4878 Messages postés 149 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 3 avril 2010
15 août 2007 à 21:53
Salut ! comment je peux faire avec une base Mysql ??
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
30 nov. 2006 à 19:50
Parfaitement.
Tout d'abord, quand tu imprimes des bons de commande ou des factures, il est bon que chacun tienne sur une page ou du moins que chaque document (facture ou bon de commande) commence sur une nouvelle page. Pour obtenir cet effet, fais un clic droit sur la marge à droite de la section correspondant au pied de page du document. En principe, cela devrait être un groupe (puisque que tu imprimes en fait des lignes de facture groupées par facture. Tu obtiens un tel jeu d'enregistrements en faisant une jointure entre la table des factures et celle des lignes de facture). Dans le menu contextuel qui apparaît selectionne 'Section Expert' (désolé mon Crystal est en Anglais). Dans la boîte de dialogue qui suit, trouve et coche la case 'Reset page number after'. Pour reduire l'état à une seule facture, construit ta requête de sorte qu'elle ne retourne que les lignes de cette facture. Pour le reste, concevoir un état c'est comme générer un document Word: c'est avant toute chose une question de bon goût.
raoudha_hedile Messages postés 3 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 29 novembre 2006
29 nov. 2006 à 10:23
bonjour
est ce que je peut mettre un code qui me permet de selectionner un bon de commande donnée et le crystal report peut charger ce bon en tenant compte que tous les bon son classées dans un seul table triés par date
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
16 mai 2006 à 20:47
Tu peux utiliser le code ci-dessus pour résoudre ton problème. Saches que tu auras besoin d'un fichier .rpt et d'un DataSet différents pour chaque élément de ta liste.

ton code pourrait ressembler a ceci :

Dim helper As New CRHelper()

Select Case ComboBox1.SelectedItem
Case valeur1
helper.FileName = "valeur1.rpt"
helper.DataSource = dsValeur1
.
.
.
End Select

helper.Print(Nothimg)
souad2511 Messages postés 1 Date d'inscription lundi 15 mai 2006 Statut Membre Dernière intervention 15 mai 2006
15 mai 2006 à 02:42
bonjour svp , vous pouvez me donnez un autre code pour le crystalreport
et pour un combobox je veu chosir un etat ds le combobox et le crystale se charge aprés mon choix avec tout les informations de l'etat que j'ai choisi et aprés je click sur un bouton pour imprimé la fiche .merci
cs_addy Messages postés 39 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 20 mars 2009
20 déc. 2005 à 18:48
Northwind est un exemple de base de données fourni avec tous les SGBD de Microsoft. La version que j'ai utilisé est fournie avec SQL Server. Le programme s'execute donc sans problème sur mon poste. Cependant, tu peux utiliser la version fournie avec MS Office sous-forme de fichier ADP. Il suffit d'installer au préalable MSDE (un SQL Server allégé) lui aussi fourni avec MS Office
anvert Messages postés 12 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 17 septembre 2007
19 déc. 2005 à 11:54
Bonjour,
La base Northwind que tu utilises est une base de données Access au format mdb. Il en existe une autre sous forme d'un projet Access de format ADP.
Dans ton code tu te sers de SQL Server pour ouvrir une connexion à la base. Elle échoue car le server SQL ne sait pas l'atteindre sous ces 2 formats.
Comment fais-tu?
Rejoignez-nous