Créer une fiche détailler d'un produit avec microsoft report mais voici l'erreur

syanis94 Messages postés 22 Date d'inscription mardi 24 septembre 2013 Statut Membre Dernière intervention 10 janvier 2021 - 10 mai 2020 à 17:04
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 - 11 mai 2020 à 07:01
Bonsoir tout le monde

Donc voila je souhaite crée une fiche détaillée d'un produit sur mon programme visual basic win form C# avec le miscro soft Report Parameter donc voici mon code :


FrmRpt.RPAfficher.LocalReport.ReportEmbeddedResource = "GestionDeStock.RAP.RP_Produit.rdlc";
ReportParameter PCat = new ReportParameter("RP_Categorie", Nom_Categorie);
ReportParameter PMarque = new ReportParameter("RP_Marque", Product.Nom_Produit);
ReportParameter PCouleur = new ReportParameter("RP_Couleur", Product.Couleur_Produit);
ReportParameter PTaille = new ReportParameter("RP_Taille", Product.Taille_Produit.ToString());
ReportParameter PQuantite = new ReportParameter("RP_Quantite", Product.Quatite_Produit.ToString());
ReportParameter PPrix = new ReportParameter("RP_Prix", Product.Prix_Produit.ToString());

string ImageString = Convert.ToBase64String(Product.Image_Produit);
ReportParameter PImage = new ReportParameter("RP_Image", ImageString);

FrmRpt.RPAfficher.LocalReport.SetParameters(new ReportParameter[] { PCat, PMarque, PCouleur, PTaille, PQuantite, PPrix, PImage });

FrmRpt.RPAfficher.RefreshReport();
FrmRpt.ShowDialog();


Donc le truque c'est que je me suis taper 06h à le vérifier et réécrire j'arrive pas a trouver l'erreur, quand je lance ce code, sa me souligne cette ligne :

  FrmRpt.RPAfficher.LocalReport.SetParameters(new ReportParameter[] { PCat, PMarque, PCouleur, PTaille, PQuantite, PPrix, PImage });



l'erreur afficher c'est la suivante :

Exception non gérée :

11 réponses

Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655
10 mai 2020 à 17:21
Bonjour

Tout d’abord, tu as essayé d’utiliser la coloration syntaxique, mais pas correctement. Voici un petit tuto sur leur bonne utilisation https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Tu as un peu de temps pour modifier ton message.

Ensuite, copier coller le message d’erreur serait une aide pour nous, car la capture d’écran n’est pas très lisible.
0
syanis94 Messages postés 22 Date d'inscription mardi 24 septembre 2013 Statut Membre Dernière intervention 10 janvier 2021
10 mai 2020 à 17:38
Premièrement merci pour votre réponse,

donc j'ai ajouté un try catch à mon code pour avoir une idée plus claire :

le catch m'a affiché l'erreur suivante "une erreur s'est produite lors de traitement de rapport local "

voici mon code :

  try
                    {
                        FrmRpt.RPAfficher.LocalReport.ReportEmbeddedResource = "GestionDeStock.RAP.RP_Produit.rdlc";
                        ReportParameter PCat = new ReportParameter("RP_Categorie", Nom_Categorie);
                        ReportParameter PMarque = new ReportParameter("RP_Marque", Product.Nom_Produit);
                        ReportParameter PCouleur = new ReportParameter("RP_Couleur", Product.Couleur_Produit);
                        ReportParameter PTaille = new ReportParameter("RP_Taille", Product.Taille_Produit.ToString());
                        ReportParameter PQuantite = new ReportParameter("RP_Quantite", Product.Quatite_Produit.ToString());
                        ReportParameter PPrix = new ReportParameter("RP_Prix", Product.Prix_Produit.ToString());

                        string ImageString = Convert.ToBase64String(Product.Image_Produit);
                        ReportParameter PImage = new ReportParameter("RP_Image", ImageString);

                        FrmRpt.RPAfficher.LocalReport.SetParameters(new ReportParameter[] { PCat, PMarque, PCouleur, PTaille, PQuantite, PPrix, PImage });
                        FrmRpt.RPAfficher.RefreshReport();
                        FrmRpt.ShowDialog();
                    }
                    catch (Exception ex) { MessageBox.Show(ex.Message); }




voici mon explorateur de solution pour vérifier la première ligne de mon code :
FrmRpt.RPAfficher.LocalReport.ReportEmbeddedResource = "GestionDeStock.RAP.RP_Produit.rdlc";



et voici mon RP_Produit :



et voici l'erreur qu'il m'affiche avant d'utiliser le try catch :


Merci bcp pour votre aide
0
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655
10 mai 2020 à 17:48
Ta capture d'écran est toujours aussi peu lisible, cependant j'ai cru distinguer NullReferenceException.
Ce que tu as copié collé du catch n'a rien à voir.

Autant avec un nullReferenceException, j'avais une chance de t'aider autant là....

PS pas besoin d'un try catch pour copier coller un message d'erreur, il suffit de le copier dans la fenêtre qui s'affiche.



0
syanis94 Messages postés 22 Date d'inscription mardi 24 septembre 2013 Statut Membre Dernière intervention 10 janvier 2021
10 mai 2020 à 17:51
Ok, merci beaucoup et désolé si je suis lourd, je suis débutant, voici un copié collé de l'erreur sans le try catch :


Microsoft.Reporting.WinForms.LocalProcessingException : 'Une erreur s'est produite lors du traitement du rapport local.'

NullReferenceException : La référence d'objet n'est pas définie à une instance d'un objet.

Cette exception a été levée à l'origine dans cette pile des appels :
[Code externe]



et quand je fais afficher détaille sa m'affiche ça :

0

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

Posez votre question
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655
10 mai 2020 à 17:53
0
syanis94 Messages postés 22 Date d'inscription mardi 24 septembre 2013 Statut Membre Dernière intervention 10 janvier 2021
10 mai 2020 à 18:07
j'ai toujours pas trouver :(
0
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655
10 mai 2020 à 18:33
Ha en ouvrant tes images dans un nouvel onglet, c'est plus lisible.

C'est écrit "La définition du rapport "RP_Produit" n'est pas spécifiée".

Dans ton rapport, il doit y a avoir un champ ou une propriété qui s'appelle "RP_Produit" que tu n'as pas renseigné.
De cette façon, je suppose
ReportParameter PCat = new ReportParameter("RP_Categorie", Nom_Categorie);


Ce qui expliquerait, le NullReferenceException.

PS tu l'aurais compris, je n'ai jamais utilisé cet outil, je ne fais que spéculer.
0
syanis94 Messages postés 22 Date d'inscription mardi 24 septembre 2013 Statut Membre Dernière intervention 10 janvier 2021
10 mai 2020 à 19:57
Justement moi je pense que le problème vient de la ligne suivante :

FrmRpt.RPAfficher.LocalReport.ReportEmbeddedResource = "GestionDeStock.RAP.RP_Produit.rdlc";


Mais dans la vidéo tutoriel sa marchais nikel
0
Whismeril Messages postés 19019 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 655
10 mai 2020 à 20:07
Et oui, les vidéos c'est pas du tout adapté à la programmation...
Avec un tuto pdf tu aurais pu copier coller le code au moins.
A priori, il y en a pleins
https://lite.qwant.com/?q=reportViewer+tutoriel&client=opensearch
0
syanis94 Messages postés 22 Date d'inscription mardi 24 septembre 2013 Statut Membre Dernière intervention 10 janvier 2021
10 mai 2020 à 21:05
Bonsoir, donc voila ce que j'ai fais : j'ai installé flamework 4.8 je l'ai mis à jour dans le visual basic et maintenant sa m'affiche l'erreur suivante :

System.IO.FileLoadException : 'Impossible de charger le fichier ou l'assembly 'Microsoft.ReportViewer.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' ou une de ses dépendances. La définition trouvée du manifeste de l'assembly ne correspond pas à la référence de l'assembly. (Exception de HRESULT : 0x80131040)'



et sa me souligne la ligne suivante :
this.RPAfficher = new Microsoft.Reporting.WinForms.ReportViewer();

mais dans un fichier C# qui n'est pas le mien son titre : Form_Reporte_Designer
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
11 mai 2020 à 07:01
Bonjour
Petite correction en passant : pourquoi parles-tu de Visual Basic alors que tu programmes en C# ?
Voir ton message précédent : "Bonsoir, donc voila ce que j'ai fais : j'ai installé flamework 4.8 je l'ai mis à jour dans le visual basic et maintenant sa m'affiche l'erreur suivante "

Tu es sous Visual Studio et il supporte les langages C# et Visual Basic principalement .
0
syanis94 Messages postés 22 Date d'inscription mardi 24 septembre 2013 Statut Membre Dernière intervention 10 janvier 2021
10 mai 2020 à 21:21
J'ai réglé ce problème on supprimant le microsoft reportviewer commun, donc voici les erreurs qu'il m'affiche avec un catch ex.message, ex.innermessage ex.innermessage.innermessage :

première erreur : une erreur s'est produite lors du traitement de rapport local
deuxième erreur : La définition du rapport <Rapport_List_Produit> N'est pas spécifié
troisième erreur : la référence d'objet n'est définie à une instance d'un objet

voila
0
Rejoignez-nous