Création d'état Crystal Report

Résolu
THRILLERD Messages postés 28 Date d'inscription mercredi 25 mars 2009 Statut Membre Dernière intervention 25 septembre 2012 - 10 juin 2009 à 19:01
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>>

3 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
13 juin 2009 à 23:34
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!
3
THRILLERD Messages postés 28 Date d'inscription mercredi 25 mars 2009 Statut Membre Dernière intervention 25 septembre 2012
15 juin 2009 à 10:20
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
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
Modifié le 6 sept. 2021 à 21:02
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 <bold>o ns</bold> "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!
0
Rejoignez-nous