Création d'état Crystal Report [Résolu]

Messages postés
28
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
25 septembre 2012
- - Dernière réponse : cs_Robert33
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
- 18 juin 2009 à 17:23
salut!
je voudrais poser une question:
Est-il possible lier un état cristal report à un dataset sans passer par l'assistant de crystal report?
je m'explique:
au lieu de passer par expert base de données et créer une nouvelle liason, est -il pas possible de le faire par code?
Si oui quelqu'un peut -il m'aider?
je vous en prie c'est urgent!
Merci!

<<La cinnaissance est le seul bien qui s'acroît lorsqu'on le partage>>
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
25
3
Merci
bonsoir

cherches-tu à changer dynamiquement la connexion vers un autre serveur ou un autre base,
ou veux-tu changer la requête à executer ?

dans le premier cas c'est possible, je ne me rappelle plus très bien comment mais je peux chercher.
dans le second cas, je crois bien que c'est impossible, les requêtes sont codées en dur dans l'état.

C# is amazing, enjoy it!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Robert33
Messages postés
28
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
25 septembre 2012
0
Merci
Bonjour Robert33!
Merci d'avance de t'être proposer pour m'aider. En fait j'aimerais changer dynamiquement la connexion vers une autre base de donner ou un serveur. Je te serai vraiment reconnaissant si vraiment tu pouvais m'aider. Merci
Commenter la réponse de THRILLERD
Messages postés
834
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
25
0
Merci
Bonjour

voici un petit exmple, c'est du code que j'ai utilisé avec une version 8 de crystal, mais je pense que la version actuelle doit être compatible

le code vient d'un formulaire ayant un bouton1, et un textbox qui contient la localisation du fichier rapport à charger.
le membre m_report est un membre de la classe de type ReportDocument, un doc Crystal en fait
change les valeurs en rouge avec tes propres données
l'exemple utilise SQL server comme source de donnée, pour les autres source il faudra peut être changer la syntaxe.
le mieux est de mettre en point d'arret dans la boucle foreach et de regarder la syntaxe employée par crystal avant de changer les valeurs. 
            privatevoid button1_Click(object sender, System.EventArgs e)<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

            {

                  if (m_report != null) // fermeture de l'état en cours
                        m_report.Close();

                  m_report = new ReportDocument();

                 

                  m_report.Load (textBox1.Text);

                  if (!m_report.IsLoaded)

                        return;

                  // change the database connection information

                 

                  // Set the logon information for each table.

                  foreach(Table table in m_report.Database.Tables)

                  {

                        TableLogOnInfo logonInfo = new TableLogOnInfo();

                        // Get the TableLogOnInfo object.

                        logonInfo = table.LogOnInfo;

                        // Set the server or ODBC data source name,

                        // user ID, and password.

                        logonInfo.ConnectionInfo.ServerName = "(local)";

                        logonInfo.ConnectionInfo.UserID = "user1";

                        logonInfo.ConnectionInfo.Password = "password";

                        // Apply the connection information to the table.

                        table.ApplyLogOnInfo(logonInfo);

                        if (!table.TestConnectivity())

                             table.LogOnInfo.ConnectionInfo.Password="password";

                  }

                  Report report = new Report(m_report);

                  report.ShowDialog();

            }

C# is amazing, enjoy it!
Commenter la réponse de cs_Robert33