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

THRILLERD 28 Messages postés mercredi 25 mars 2009Date d'inscription 25 septembre 2012 Dernière intervention - 10 juin 2009 à 19:01 - Dernière réponse : cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention
- 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

Répondre au sujet
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 13 juin 2009 à 23:34
+3
Utile
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!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Robert33
THRILLERD 28 Messages postés mercredi 25 mars 2009Date d'inscription 25 septembre 2012 Dernière intervention - 15 juin 2009 à 10:20
0
Utile
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
cs_Robert33 835 Messages postés samedi 15 novembre 2008Date d'inscription 14 janvier 2017 Dernière intervention - 18 juin 2009 à 17:23
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.