IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Etat crystal report avec plusieurs tables


Sujet :

VB.NET

  1. #21
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Comme je l'ai dit plus haut tu ne peut concevoir et mettre en forme un rapport ( .rpt) sans la sélection de la source de données, source de données que tu peut modifier dans le code comme tu l'a fait pour le cas d'une table.

    moi je pense que lors de la mise en forme tu rapport si tu dit par exemple sur cette zone afficher la colonne nom de la base de données et lors de la modification de ta source de donnée par code tu retourne plutôt la colonne prénom par exemple c'est normal que tu n'ai rien sur le rapport puisque c'est pas sa qui doit être afficher.

    Je crois que le véritable problème est au niveau de la structure de ces deux dataset sa marchais dans le cas d'une seule table parceque le dataset retourne dans le code a la même structure que le dataset (.xsd) auquel était rattaché le rapport lors de la conception de celui ci. Donc essaye de vérifier a ce niveau.
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #22
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut

    lors de la modification de ta source de donnée par code tu retourne plutôt la colonne prénom par exemple
    Ouest ce que ce modifie sa ???
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  3. #23
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut autre question
    Je crois que le véritable problème est au niveau de la structure de ces deux dataset sa marchais dans le cas d'une seule table parceque le dataset retourne dans le code a la même structure que le dataset (.xsd) auquel était rattaché le rapport lors de la conception de celui ci. Donc essaye de vérifier a ce niveau.
    Pourquoi deux dataset ? comment faire exactement la meme structure que le .XSD ??
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  4. #24
    Membre averti
    Avatar de witch
    Inscrit en
    Mai 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 346
    Points : 335
    Points
    335
    Par défaut
    Salut,

    Citation Envoyé par cyrux Voir le message
    Personne pour m'aider ?? s'il vous plait c'est très important et le temps m'est compté.
    on vous a déjà proposé des solutions, parmi elles .. celle que moi personnellement j'adopte : utilisation des procédures stockées ou des vues
    et pour ton état tu mets en place les champs que tu aimerais afficher venant des deux/plusieurs tables dont tu fais appel...

    http://fablain.developpez.com/tutori...t/?page=page_3

    si le temps t'es compté tu feras mieux de chercher tout de même!

    ++
    If a pretty poster and a cute saying are all it takes to motivate you, you probably have a very easy job. The kind robots will be doing soon.

  5. #25
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    Je vous assure que je cherche.

    le probleme c que je ne comprends pas a quel endroit sa bloque,
    j'ai fais refait et refait maintes et maintes fois mais toujours le probleme ...
    j'ai téléchargé des exemples sur des sites et autres forums en tout genre.

    désolé mais je suis vraiment débutant et la plupart de vos réponses me sont compliqué à comprendre ...

    Merci.
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  6. #26
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut On va y arriver ^^
    je vais vous rédiger clic après clic la méthode que j'utilise afin de comprendre de ou provient le problème car je ne vois pas d'autre solution
    Je poste sa dans la journée.

    Merci encore de votre aide
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  7. #27
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut voila les étapes que je suis
    Creation du dataset :
    1) Dans solution explorer => clic droit
    2) Add New item …
    3) Selection du type dataset
    4) Je le nomme dataset_multitable.xsd pour l’exemple.
    5) Clic sur add

    Le dataset _multitable s’ouvre …
    1) Je cherche les tables contenant mes données de cette facon :
    a. dans le server explorer =>data connections => table
    b. je sélectionne et je fais glisser les tables qui m’intéressent du serveur explorer vers le dataset_multitable.xsd (les tables sont : dossier, activite, agence et régime).
    c. Comme je n’ai pas besoin de tous les champs présents dans les tables, je modifie les fill des tables dans les tablesAdapter :
    i. clic droit sur le TableAdapter de la table dossier =>configure
    ii. modification de la requête pour ne récupérer que les champs qui m’intéressent
    iii. Utilisation du query builder afin de vérifier que les requêtes retournent bien ce qui est demandé
    iv. Clic sur suivant.
    v. Modification du nom de la méthode du « fill » appelée selection_dossier
    vi. Démarche identique pour les autres tables. Les noms des « fill » seront selection_dossier, selection_activite, selection_agence, selection_regime.
    d. Une fois cela fait, je place mes relations
    i. Clic droit dans le dataset_multitable.xsd
    ii. Add relation
    1. Je choisi ma table parent et ma table enfant (je veut récupérer le libellé de l’agence en fonction de son code. Je met ma table dossier en parent et activité en table enfant).
    2. Je choisi mes champs à lier (pour l’exemple code_agence)
    3. Je choisi de créer uniquement une relation et de ne pas y appliquer les contraintes de la clé étrangère (relation only).
    4. Je fais de même pour les autre table et relation
    5. Je teste avec le previewdata. Mes données/requêtes sont toujours bonnes.
    e. Mon dataset et créé ainsi que les relations (que je peu voir dans le dataset donc elles sont bien présentes).

    Création du rapport :
    1) Clic droit dans solution explorer => add New Item
    2) Je choisi le type crystal report (.rpt) que je nomme raport_multitable.rpt
    3) Le wizzard s’ouvre et je l’utilise :
    a. Dans les données disponibles je choisi mon dataset (dataset_multitable) et je l’ajoute intégralement aux tables sélectionnées pour l’affichage dans le rapport.
    b. La fenêtre suivante me montre les tables avec les liens. Il me propose Auto-Arrange Auto-link etc… je ne fais rien et clique sur suivant
    c. La fenêtre suivante me demande quels informations je souhaite afficher sur le rapport, je choisi donc
    i. pour la table dossier => num_dossier nom_client prenom_client date_adhesion
    ii. pour la table agence => lib_agence
    iii. pour la table =>activite lib_activite
    iv. pour la table => regime lib_regime
    d. je les ajoute dans la liste des informations à afficher et je clique sur suivant.
    e. La fenêtre suivante me propose des groupements que je ne fais pas.
    f. Je n’applique pas non plus les filtres proposés dans la fenêtre suivante.
    g. Je choisi pour finir le style de ma page => par simplicité je choisi le premier qui reste le plus basique.
    4) Le rapport_multitable est créé.

    5) Je me retrouve sur la page me permettant de placer les diverses information aux endroit souhaités sur la page.
    6) Celle-ci étant correcte, je ne déplace aucun champ.

    7) Je vais maintenant coder le bouton me permettant d’afficher les données dans le crystal report viewer
    8) J’ajoute une combobox qui me permet de sélectionner le nom de lu bureau dont je souhaite imprimer les informations. (Combobox appelée combo_bureau)
    9) J’ajoute a mon formulaire un crystalreportviewer que japelle crv_multitable
    10) Place au code :
    a. J’inclus les bibliothèques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Imports System
    Imports System.IO
    Imports System.Data
    Imports System.Data.SqlClient
    Imports CrystalDecisions.Shared
    Imports CrystalDecisions.Windows.Forms
    Imports CrystalDecisions.CrystalReports.Engine
    b. Ma classe publique ainsi que les classe privées qui sont contenues dedans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Public Class edition_adherent_toute_cloture_pour_un_bureau
        Dim connect As SqlConnection
        Dim commande As SqlCommand
        Dim reader As SqlDataReader
     
     
     
       Private Sub edition_adherent_toute_cloture_pour_un_bureau_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            commande = New SqlCommand
            connect = New SqlConnection
            connect.ConnectionString = "server=XXXXXXXXX;Initial Catalog=XXXXXXX;User Id=XXXXXX; password =XXXXXXX ;"
            commande.Connection = connect
            connect.Open()
     
            'affichage des numéros de dossier dans la combobox 
            'on fait la requete
            commande.CommandText = "SELECT lib_agence FROM agence ORDER BY lib_agence ASC "
           'on enregistre le resultat de la requete dans le reader
            reader = commande.ExecuteReader
            'on boucle tant qu'il y a des numéros de dossier
            Do While reader.Read
                combo_bureau.Items.Add(reader.GetValue(0))
            Loop
            'On ferme le reader à la fin de la boucle
            reader.Close()
        End Sub
     
        Private Sub combo_bureau_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles combo_bureau.SelectedIndexChanged
            Dim Report As New ReportDocument
            Dim Dataset2 As New DataSet
            Dim Conn As New SqlClient.SqlConnection("server=XXXXXX;Initial Catalog=XXXXXX;User Id=XXXXXX; password =XXXXXX ;")
            Dim Dadap As New SqlClient.SqlDataAdapter("SELECT dossier.num_dossier, dossier.nom_client, dossier.prenom_client, dossier.date_adhesion, activite.lib_activite, regime.lib_regime, agence.lib_agence FROM dossier INNER JOIN activite ON dossier.code_activite = activite.code_activite INNER JOIN regime ON dossier.code_regime = regime.code_regime INNER JOIN agence ON dossier.code_agence = agence.code_agence WHERE (agence.lib_agence = '" & combo_bureau.Items.ToString & "')", Conn)
            'ici on charge le rapport
            Report.Load("F:\Resources\etat_adhesion_annee_par_bureau.rpt")
            Try
                'ici on charge le dataset
                Dadap.Fill(Dataset2, "dossier, activite, regime, agence")
                'On modifie la source de données
                Report.SetDataSource(Dataset2)
                'cas d'une impression direct avec l'imprimante par défaut
                'Report.PrintToPrinter(Nbcopie, False, 0, 0)
                'cas de la visualistaion dans le reportview
                crv_multitable.ReportSource = Report
            Catch ex As Exception
                MessageBox.Show(ex.Message, ex.Source, MessageBoxButtons.OK)
            End Try
        End Sub
    End Class
    c) ce code demande l’affichage des données en fonction du bureau selectionné … mais rien …

    j'ai pourtant l'impression de faire cela correctement. je ne comprends vraiment pas ou se trouve le problème.

    Merci d’avance de votre aide, elle m’est très très précieuse.
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  8. #28
    Membre averti
    Avatar de witch
    Inscrit en
    Mai 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 346
    Points : 335
    Points
    335
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT dossier.num_dossier, dossier.nom_client, dossier.prenom_client, dossier.date_adhesion, activite.lib_activite, regime.lib_regime, agence.lib_agence FROM dossier INNER JOIN activite ON dossier.code_activite = activite.code_activite INNER JOIN regime ON dossier.code_regime = regime.code_regime INNER JOIN agence ON dossier.code_agence = agence.code_agence WHERE (agence.lib_agence = '" & combo_bureau.Items.ToString & "')"
    t'es sûr du résultat de cette requête? ceci "combo_bureau.Items.ToString" renvoi-t-il bien le résultat que tu attends?
    pour récupérer des valeurs sélectionnées par un combobox, normalement on utilise (selectedValue)..je n'ai jamais utilisé items pour récupérer ça depuis un combobox ¿

    sinon, franchement je ne vois pas où ça pourrait bloqué.

    ++
    If a pretty poster and a cute saying are all it takes to motivate you, you probably have a very easy job. The kind robots will be doing soon.

  9. #29
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    merci de t'intéresser a mon problème Witch !

    j'ai tenté avec selected value mais toujours rien ... je vais tester directement la requête sur le serveur pour tester.
    je vous tien au courant.
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  10. #30
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    j'ai changé le .item mais rien ne fais, rien ne s'affiche ...

    Une autre idée ??
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  11. #31
    Membre averti
    Avatar de witch
    Inscrit en
    Mai 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 346
    Points : 335
    Points
    335
    Par défaut
    Une solution simple et efficace...utilisation d'une procédure stockées.

    la procédure stockées à exécuter au niveau de sql server:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE PROCEDURE activites 
    @agence nvarchar(100)
    AS
    SELECT dossier.num_dossier, dossier.nom_client, dossier.prenom_client, dossier.date_adhesion, activite.lib_activite, regime.lib_regime, agence.lib_agence FROM dossier INNER JOIN activite ON dossier.code_activite = activite.code_activite INNER JOIN regime ON dossier.code_regime = regime.code_regime INNER JOIN agence ON dossier.code_agence = agence.code_agence 
    WHERE agence.lib_agence = @agence
    le code pour faire appel à cette procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    commande.CommandText ="activites"
    commande.CommandType=CommandType.StoredProcedure;
     
                    SqlParameter Param1 = new SqlParameter();
                    Param1.OracleDbType = sqlDbType.String;
                    Param1.Direction = ParameterDirection.Input;
                    Param1.Value= "une valeur pour tester";
     
    Dim Dadap As New SqlClient.SqlDataAdapter(cmd)
    ....
    If a pretty poster and a cute saying are all it takes to motivate you, you probably have a very easy job. The kind robots will be doing soon.

  12. #32
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    j'ai testé la requête directement sur SQL serveur pensant que celle ci présentait une erreur ...

    Pour pouvoir la tester, j'ai du entrer un nom de ville présent dans ma liste à l'endroit ou se trouvait la valeur de la combobox

    la voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT dossier.num_dossier, dossier.nom_client, dossier.prenom_client, dossier.date_adhesion, activite.lib_activite, regime.lib_regime, agence.lib_agence FROM dossier INNER JOIN activite ON dossier.code_activite = activite.code_activite INNER JOIN regime ON dossier.code_regime = regime.code_regime INNER JOIN agence ON dossier.code_agence = agence.code_agence WHERE agence.lib_agence = 'Ronchin'
    j'ai donc décidé de laisser le nom de la ville a l'emplacement de la combobox pour vérification. mais rien ...
    Ce qui m'étonne c'est que celle ci fonctionne sur le serveur et me renvoi les données que je demande alors que sur l'état, toujours rien ne s'affiche ...

    j'ai peu etre oublié quelque chose ? voici le code ou elle est utilisé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     Dim Report As New ReportDocument
            Dim Dataset2 As New DataSet
            Dim Conn As New SqlClient.SqlConnection("server=XXXXXX;Initial Catalog=XXXXX;User Id=XXXXXX; password =XXXXXXX")
            Dim Dadap As New SqlClient.SqlDataAdapter("SELECT dossier.num_dossier, dossier.nom_client, dossier.prenom_client, dossier.date_adhesion, activite.lib_activite, regime.lib_regime, agence.lib_agence FROM dossier INNER JOIN activite ON dossier.code_activite = activite.code_activite INNER JOIN regime ON dossier.code_regime = regime.code_regime INNER JOIN agence ON dossier.code_agence = agence.code_agence WHERE agence.lib_agence = 'Ronchin'", Conn)
     
            'ici on charge le rapport
            Report.Load("F:Resources\raport_multitable.rpt")
            Try
                'ici on charge le dataset
                Dadap.Fill(Dataset2, "dossier, activite, regime, agence")
                'On modifie la source de données
                Report.SetDataSource(Dataset2)
                'cas d'une impression direct avec l'imprimante par défaut
                'Report.PrintToPrinter(Nbcopie, False, 0, 0)
                'cas de la visualistaion dans le reportview
                crv_multitable.ReportSource = Report
            Catch ex As Exception
                MessageBox.Show(ex.Message, ex.Source, MessageBoxButtons.OK)
            End Try
        End Sub
    A cet endroit, je peu lui placer une seule ou 4 tables, rien ne change
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dadap.Fill(Dataset2, "dossier, activite, regime, agence")
    le problème ne proviendrait il pas du fait que je modifie les fill des tables dans le dataset.xsd ??

    je cherche encore un peu sinon je testerais les procédures stockées ...

    Merci d'avance de votre aide !!
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  13. #33
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    j'ai un probleme avec la procédure stockée,

    il me met SqlParameter et Param1 en erreur, une idée ??
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  14. #34
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Je ne peut te fournir une réponse sans avoir vue ton code
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  15. #35
    Membre averti
    Avatar de witch
    Inscrit en
    Mai 2007
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 346
    Points : 335
    Points
    335
    Par défaut
    Salut,

    Citation Envoyé par cyrux Voir le message
    j'ai un probleme avec la procédure stockée,

    il me met SqlParameter et Param1 en erreur, une idée ??
    Oui désolée, c'est que je teste pas ce que j'écris... mais une simple recherche sur les sources de ce genre est suffisante!

    je corrige...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    commande.CommandText ="activites"
    commande.CommandType=CommandType.StoredProcedure
     
    SqlParameter Param1 = new SqlParameter("@agence", SqlDbType.VarChar, 25)
    Param1.Value= "une valeur pour tester"
     
    Dim Dadap As New SqlClient.SqlDataAdapter(commande)
    encore une fois c'est à tester

    ++
    If a pretty poster and a cute saying are all it takes to motivate you, you probably have a very easy job. The kind robots will be doing soon.

  16. #36
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    Merci de vos réponses !!

    j'ai vérifié les références du projet, et fais des recherches concernant SqlParameter mais rien n'y fais l'erreur persiste.
    Il faut dire que je débute et que je ne comprends pas encore grand chose aux procédures stockées et autres connexions annexes.

    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    Imports System
    Imports System.IO
    Imports System.Data
    Imports System.Data.SqlClient
    Imports CrystalDecisions.Shared
    Imports CrystalDecisions.Windows.Forms
    Imports CrystalDecisions.CrystalReports.Engine
     
     
    Public Class edition_adherent_toute_cloture_pour_un_bureau
        Dim connect As SqlConnection
        Dim commande As SqlCommand
        Dim reader As SqlDataReader
     
     
        Private Sub edition_adherent_toute_cloture_pour_un_bureau_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            commande = New SqlCommand
            connect = New SqlConnection
            connect.ConnectionString = "server=XXXXXXX;Initial Catalog=XXXXXX;User Id=XXXXX; password =XXXXXXX ;"
            commande.Connection = connect
            connect.Open()
     
            'affichage des numéros de dossier dans la combobox 
            'on fait la requete
            commande.CommandText = "SELECT lib_agence FROM agence ORDER BY lib_agence ASC "
            'on enregistre le resultat de la requete dans le reader
            reader = commande.ExecuteReader
            'on boucle tant qu'il y a des numéros de dossier
            Do While reader.Read
                combo_bureau.Items.Add(reader.GetValue(0))
            Loop
            'On ferme le reader à la fin de la boucle
            reader.Close()
        End Sub
     
        Private Sub combo_bureau_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles combo_bureau.SelectedIndexChanged
            Dim Report As New ReportDocument
            Dim Dataset2 As New DataSet
            Dim instance As SqlParameter
     
     
            commande.CommandText = "activites"
            commande.CommandType = CommandType.StoredProcedure
     
            SqlParameter(Param1 = New SqlParameter("@agence", SqlDbType.VarChar, 25))
            Param1.Value = "une valeur pour tester"
     
            Dim Dadap As New SqlClient.SqlDataAdapter(commande)
     
            'ici on charge le rapport
            Report.Load("F:\Resources\raport_multitable.rpt")
            Try
                'ici on charge le dataset
                Dadap.Fill(Dataset2, "dossier")
                'On modifie la source de données
                Report.SetDataSource(Dataset2)
                'cas d'une impression direct avec l'imprimante par défaut
                'Report.PrintToPrinter(Nbcopie, False, 0, 0)
                'cas de la visualistaion dans le reportview
                crv_multitable.ReportSource = Report
            Catch ex As Exception
                MessageBox.Show(ex.Message, ex.Source, MessageBoxButtons.OK)
            End Try
        End Sub
    End Class
    j'ai comme erreur :

    Error 1 'SqlParameter' is a type and cannot be used as an expression.
    Error 2 Name 'Param1' is not declared.
    Error 3 Name 'Param1' is not declared.
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  17. #37
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Je ne parlais pas d'utiliser les procédures stocké dans ce sens. puisque ta source de données est toujours ton Dataset et je crois même que si tu parvient a résoudre ce problème tu n'aura toujours toujours pas de données sur ton états.
    Revenons a ton problème tu devrais plutôt procéder comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     commande.CommandText = "activites @agence"
            commande.CommandType = CommandType.StoredProcedure
            commande.Parameters.add(New SqlParameter("@agence", SqlDbType.VarChar, 25)
            commande.Parameters("@agence").Value = "une valeur pour tester"
         Dim Dadap As New SqlClient.SqlDataAdapter(commande)
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  18. #38
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    Mon probleme est justement que je n'ai rien sur mon état.

    ce n'est pas réalisable ?
    comment puis-je faire ?

    je vais tester ta solution même si je ne comprends plus bien l'utilité des procédures stockées de ce fait...
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

  19. #39
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    C'est juste que je me dit que le problème est niveau du dataset qui est ta source de données et je ne pense pas que le résultat puisse être influencé par l'utilisation de la procédure stocké a la place de la requête.

    mais bon teste quand même mais je doute que sa puisse te retourné un résultat, Si sa ne ma marche reviens pour que je puisse te donner la démarche a suivre pour utiliser ta procédure stockée comme source de données.
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  20. #40
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 380
    Points : 66
    Points
    66
    Par défaut
    Cela ne fonctionne pas malheureusement,
    Comment cela se fait il que je n'arrive a rien afficher dans mon état ?

    cette procédure ne me permet elle pas d'afficher des données dans mes états ?
    L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/11/2011, 10h01
  2. appeler etat(crystal report) avec jdeveloper
    Par osman.amine dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/09/2007, 08h52
  3. Help! Etat Crystal Report avec plusieurs diagrammes
    Par anneso108 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 23/03/2006, 15h44
  4. pb Affichage d'une etat crystal report avec delphi
    Par bennour dans le forum Bases de données
    Réponses: 1
    Dernier message: 22/09/2005, 12h04
  5. Modifier l'emplacement des table crystal report avec VB
    Par Job dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/09/2005, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo