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 :

Comment accéder au dataset via l'assistant VS 2005 à partir d'un second formulaire ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8
    Par défaut Comment accéder au dataset via l'assistant VS 2005 à partir d'un second formulaire ?
    Bonjour,

    Je programme actuellement une petite appli pour gérer un parc informatique avec les infos stockées dans une BDD SQL server 2005.
    Dans mon projet sous VS 2005, j'ai 2 formulaires, un principal et un second pour gérer les options. Afin de me simplifier le code, le dataSet et les dataAdapter ont été générés via les assistants de VS.

    Mon problème, c'est que le DataSet fait parti de l'espace de nom de mon formulaire principal et que du coup, je n'arrive pas à lier des contrôles de mon formulaire d'options dessus sans devoir créer un nouveau DataSet et le merger avec le premier.

    Je me suis dis que pour éviter ce désagrément, j'allais gérer le databinding directement dans le fichier designer du formulaire d'options comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            'Types_ListBox
            '
            Me.Types_ListBox.DataSource = Form1.InfogestionDataSet.type 'ligne rajoutée manuellement
            Me.Types_ListBox.DisplayMember = "nom_type"
            Me.Types_ListBox.FormattingEnabled = True
            Me.Types_ListBox.Location = New System.Drawing.Point(6, 22)
            Me.Types_ListBox.Name = "Types_ListBox"
            Me.Types_ListBox.Size = New System.Drawing.Size(258, 264)
            Me.Types_ListBox.TabIndex = 14
            Me.Types_ListBox.ValueMember = "type_ID"
    ce qui a pour effet de faire planter le concepteur de VS (malgré un fonctionnement tout ce qu'il y a de plus normal) :
    Une ou plusieurs erreurs ont été rencontrées lors du chargement du concepteur. Les erreurs sont répertoriées ci-dessous. Certaines erreurs peuvent être corrigées en régénérant votre projet, d'autres peuvent nécessiter des modifications du code.

    Le type 'infogestion_module_gestion_des_machines.My.MyProject' n'a pas de propriété nommée 'Forms'.
    Masquer Modifier

    à System.ComponentModel.Design.Serialization.CodeDomSerializerBase.Error(IDesignerSerializationManager manager, String exceptionText, String helpLink)
    à System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
    à System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
    à System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
    à System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeExpression(IDesignerSerializationManager manager, String name, CodeExpression expression)
    à System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager manager, CodeAssignStatement statement)
    à System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager manager, CodeStatement statement)
    Ma question est donc : comment faire pour n'utiliser qu'un seul dataSet pour toute mon application tout en profitant des avantages des assistants du concepteur (le petit carré en haut à droite des contrôles tels que listbox ou combobox qui permet de lier le contrôle aux données d'un dataset)?

    Merci de votre aide !

  2. #2
    Membre confirmé Avatar de guandal
    Profil pro
    Analyste programmeur
    Inscrit en
    Février 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Février 2006
    Messages : 127
    Par défaut
    Dans le menu contextuel du Combobox:" Utiliser les elements liés aux données"->"Source de données" et tu choisis "Autres source de données" puis "source de données du projet" . là tu choisis le dataset que tu veux.
    J'espère que ça va t'aider.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8
    Par défaut
    Merci guandal pour ta réponse, mais le problème est bien là, c'est à dire que si je fais comme tu dis, il m'instancie une nouvelle fois ma classe dataset ce que je ne veux pas, un seul objet dataset me suffit amplement, surtout que mon premier dataset est déjà chargé des infos que je veux manipuler.

    Mais vu que j'utilise VS2005 depuis peu, je m'y prends peut-être mal..

  4. #4
    Membre confirmé Avatar de guandal
    Profil pro
    Analyste programmeur
    Inscrit en
    Février 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Février 2006
    Messages : 127
    Par défaut
    [QUOTE=teraben]Merci guandal pour ta réponse, mais le problème est bien là, c'est à dire que si je fais comme tu dis, il m'instancie une nouvelle fois ma classe dataset ce que je ne veux pas,
    QUOTE]
    Moi il me l'a pas instancié une nouvelle fois, certes on revoit le dataset sur le Form.vb(Design) mais je n'ai pas une nouvelle instance du Dataset ;
    peut etre que j'ai loupé la POO sous VS2005.

  5. #5
    Membre confirmé Avatar de guandal
    Profil pro
    Analyste programmeur
    Inscrit en
    Février 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Février 2006
    Messages : 127
    Par défaut
    Toutes mes excuses , effectivement il l'instancie.
    Par contre je n'ai pas d'idées pour le moment pour t'aider.
    Sorry.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8
    Par défaut
    Citation Envoyé par guandal
    Toutes mes excuses , effectivement il l'instancie.
    Par contre je n'ai pas d'idées pour le moment pour t'aider.
    Sorry.
    On est d'accord sur l'instanciation, et ça me rassure. Mais cependant ce comportement m'intrigue... A croire qu'il faut générer un dataset par formulaire, ce qui ne me semble pas vraiment optimisé..
    Bouh Microsoft, ils poussent à coder avec les pieds !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/09/2009, 22h15
  2. Réponses: 6
    Dernier message: 20/05/2008, 16h35
  3. changer la connexion string d un dataset cree via l assistant
    Par ZashOne dans le forum Accès aux données
    Réponses: 3
    Dernier message: 21/03/2008, 11h13
  4. Réponses: 1
    Dernier message: 06/06/2007, 09h31
  5. Réponses: 4
    Dernier message: 23/01/2007, 13h03

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