Chemin complet crystal report en client server windows appl
Fermé
remiki90
Messages postés
132
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
27 décembre 2021
-
Modifié le 27 déc. 2021 à 11:16
Utilisateur anonyme - 27 déc. 2021 à 14:25
Utilisateur anonyme - 27 déc. 2021 à 14:25
A voir également:
- Crystal report client
- Crystal report download - Télécharger - Présentation
- Crystal report viewer - Télécharger - Gestion de données
- Crystal disk - Télécharger - Informations & Diagnostic
- Orange service client - Guide
- Crystal disk mark - Télécharger - Divers Utilitaires
7 réponses
Utilisateur anonyme
27 déc. 2021 à 11:46
27 déc. 2021 à 11:46
Bonjour
Avec ce code, tu dis à l’application que le fichier crystal repport est dans le dossier de l’executable.
Client Serveur cela implique une application serveur qui tourne sur l’ordinateur serveur qui lance ce rapport et une application cliente qui demande au serveur de l’ouvrir.
As tu bien codé comme ça ?
Si non, alors ce n’est pas une architecture client/serveur, explique ce que tu veux faire
Avec ce code, tu dis à l’application que le fichier crystal repport est dans le dossier de l’executable.
Client Serveur cela implique une application serveur qui tourne sur l’ordinateur serveur qui lance ce rapport et une application cliente qui demande au serveur de l’ouvrir.
As tu bien codé comme ça ?
Si non, alors ce n’est pas une architecture client/serveur, explique ce que tu veux faire
remiki90
Messages postés
132
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
27 décembre 2021
27 déc. 2021 à 11:54
27 déc. 2021 à 11:54
Merci Mais aidez moi avec ce chemin \\MIN\rom\COMM\COMMER\bin\Debug\\ARGES.rpt"
comment le client peut ouvrir le report svp
comment le client peut ouvrir le report svp
Utilisateur anonyme
27 déc. 2021 à 12:07
27 déc. 2021 à 12:07
Ça peut-être
https://prograide.com/pregunta/12903/accs--un-fichier-partage-unc--partir-d39un-domaine-distant-non-approuve-avec-des-informations-d39identification
https://prograide.com/pregunta/12903/accs--un-fichier-partage-unc--partir-d39un-domaine-distant-non-approuve-avec-des-informations-d39identification
remiki90
Messages postés
132
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
27 décembre 2021
27 déc. 2021 à 12:14
27 déc. 2021 à 12:14
dit moi,
avec ça, comment serveur qui lance ce rapport et une application cliente qui demande au serveur de l’ouvrir.
ca pourra marcher?
avec ça, comment serveur qui lance ce rapport et une application cliente qui demande au serveur de l’ouvrir.
ca pourra marcher?
ReportDocument report = new ReportDocument(); report.Load("ARGES.rpt");//ce code peut il marcher?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
27 déc. 2021 à 12:20
27 déc. 2021 à 12:20
Oui en vrai client serveur ça devrait fonctionner.
Mais c’est toute une architecture à mettre en place.
Une autre solution, si tu as quelques machines clientes, est de monter un lecteur réseau à l’emplacement \\MIN\rom\COMM\COMMER\bin\Debug\ (on va dire Z:) et de donner le chemin
Mais c’est toute une architecture à mettre en place.
Une autre solution, si tu as quelques machines clientes, est de monter un lecteur réseau à l’emplacement \\MIN\rom\COMM\COMMER\bin\Debug\ (on va dire Z:) et de donner le chemin
" Z:\ARGES.rpt"
remiki90
Messages postés
132
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
27 décembre 2021
27 déc. 2021 à 12:35
27 déc. 2021 à 12:35
Et dans Build Action ca doit etre dans CONTENT ou bien? car meme message echec du chargement du rapport crystal reports
Utilisateur anonyme
27 déc. 2021 à 12:58
27 déc. 2021 à 12:58
Je ne sais pas chez toi, mais en France, écrire en gras, c'est pour "monter" le ton, écrire beaucoup en gras c'est pour monter très fort le ton.
Donc merci d'arrêter de me crier dessus sinon...
Tu voies, c'est pas agréable.
Maintenant, configurer un fichier en tant que "contenu" dans les actions de compilation veut dire que tu veux une copie de ce fichier pour chaque exécutable, or ce que tu décris (très sommairement) me fait croire que tu veux un exemplaire unique de ce fichier, sur un ordinateur que tu appelles "serveur" et que chaque terminal utilisateur que tu appelles (à priori à tord) "client" accède à ce fichier unique.
A ma première intervention, je t'ai demandé d'expliquer ce que tu veux faire, tu ne l'as toujours pas fait.
Je réponds donc en fonction de ce que je crois comprendre. Maintenant, si tu veux vraiment que je puisse essayer de t'aider efficacement et pas au pif, c'est à toi de voir.
Donc merci d'arrêter de me crier dessus sinon...
Tu voies, c'est pas agréable.
Maintenant, configurer un fichier en tant que "contenu" dans les actions de compilation veut dire que tu veux une copie de ce fichier pour chaque exécutable, or ce que tu décris (très sommairement) me fait croire que tu veux un exemplaire unique de ce fichier, sur un ordinateur que tu appelles "serveur" et que chaque terminal utilisateur que tu appelles (à priori à tord) "client" accède à ce fichier unique.
A ma première intervention, je t'ai demandé d'expliquer ce que tu veux faire, tu ne l'as toujours pas fait.
Je réponds donc en fonction de ce que je crois comprendre. Maintenant, si tu veux vraiment que je puisse essayer de t'aider efficacement et pas au pif, c'est à toi de voir.
remiki90
Messages postés
132
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
27 décembre 2021
27 déc. 2021 à 13:26
27 déc. 2021 à 13:26
Merci pour les remarques, bref, pourras-tu me donner un exemple avec code pour demander au serveur de m'aficher un report?
void load() { try { ReportDocument report = new ReportDocument(); report.Load(Application.StartupPath + "\\CrystalReport17.rpt");// comment charger svp TableLogOnInfo Table = new TableLogOnInfo(); ConnectionInfo Connection = new ConnectionInfo(); Tables Tables; ParameterFields fld = new ParameterFields(); ParameterField parmdt = new ParameterField(); ParameterDiscreteValue dis = new ParameterDiscreteValue(); ParameterValues Values = new ParameterValues(); parmdt.Name = "du"; parmdt.CurrentValues.Add(dis); parmdt.CurrentValues.Clear(); parmdt.HasCurrentValue = true; dis.Value = margescal.date; ParameterField parmdt2 = new ParameterField(); ParameterDiscreteValue dis2 = new ParameterDiscreteValue(); parmdt2.Name = "Au"; dis2.Value = margescal.date2; parmdt.CurrentValues.Add(dis); parmdt2.CurrentValues.Add(dis2); fld.Add(parmdt); fld.Add(parmdt2); crystalReportViewer1.ParameterFieldInfo = fld; crystalReportViewer1.RefreshReport(); Connection.ServerName = "server\\my_BDD"; Connection.DatabaseName = "CO"; Connection.UserID = "sa"; Connection.Password = "blablabla"; Tables = report.Database.Tables; foreach (CrystalDecisions.CrystalReports.Engine.Table table in Tables) { Table = table.LogOnInfo; Table.ConnectionInfo = Connection; table.ApplyLogOnInfo(Table); } crystalReportViewer1.ReportSource = report; crystalReportViewer1.Refresh(); } catch (Exception er) { MessageBox.Show(er.Message); } }
Utilisateur anonyme
27 déc. 2021 à 14:25
27 déc. 2021 à 14:25
Là non. C’est pas juste un code exemple.
C’est une architecture complexe.
Tu dois créer l’application serveur et l’application cliente.
Choisir entre client lourd et client léger.
Choisir le protocole réseau qui les lie (TCP, UDP, unicast, broadcast, multicast), définir le protocole de dialogue etc…
Bref, c’est une conception de A à Z, c’est pas le rôle d’un forum.
Si tu veux utiliser cette solution, il te fait apprendre tout ça.
Mais comme je ne sais toujours pas ce que tu veux faire, je ne sais pas te dire si c’est une bonne solution….. Et d’ailleurs j’ai pas de temps à perdre à quémander des informations, c’est pas moi qui ai besoin d’aide.
C’est une architecture complexe.
Tu dois créer l’application serveur et l’application cliente.
Choisir entre client lourd et client léger.
Choisir le protocole réseau qui les lie (TCP, UDP, unicast, broadcast, multicast), définir le protocole de dialogue etc…
Bref, c’est une conception de A à Z, c’est pas le rôle d’un forum.
Si tu veux utiliser cette solution, il te fait apprendre tout ça.
Mais comme je ne sais toujours pas ce que tu veux faire, je ne sais pas te dire si c’est une bonne solution….. Et d’ailleurs j’ai pas de temps à perdre à quémander des informations, c’est pas moi qui ai besoin d’aide.