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

Accès aux données Discussion :

[VB.NET] récupération de la clé primaire


Sujet :

Accès aux données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Par défaut [VB.NET] récupération de la clé primaire
    Bonjour,

    J'ai crée une base de donnée access gérant un parc informatique qui comporte plusieurs tables (notamment une table personne et une table machine). Je suis en train de développer une applicaiton en visual basic 2005 qui exploite cette base de donnée.

    Je voudrais savoir s'il est possible de récupérer la clé primaire de la table personne à partir du nom de la machine (champ de la table) et la clé primaire de la table personne à partir du nom (champ de la table) pour ensuite associer les deux dans une table de jointure (le lien est fais par les deux clé primaire).

    Cela me serait utile pour faire un lien entre un utilisateur et plusieurs machines et une machines et plusieurs utilisateurs.


    Je pense qu'il y a une autre solution, c'est que je mettes dans une ComboBox du texte correspondant au champ personne ou machine de mes tables, mais que quand je séléctionne le texte du champs, il prenne la clé primaire...une fois encore je ne sais comment faire !!!

    Par avance, merci...

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 291
    Par défaut
    Salut,

    Tu peux charger tes 2 tables séparément dans un dataset, et les joindre avec un DataRelation.
    Voici ce que j'ai fait pour une application. J'ai une base avec des tables Véhicule, Genre (de véhicule), Marque, Modèle. J'ai un formulaire avec un DataGridView qui m'affiche la table Véhicule et les colonnes genre, ....
    Voici une fonction qui me permet de créer les relations
    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
    Private Sub CreateRelation(ByVal strTblParent As String, ByVal strNameChpParent As String, _
                                       ByVal strTblChild As String, ByVal strNameChpChild As String, _
                                       ByVal strNameRelation As String, ByVal strNameChpDisplay As String, _
                                       ByVal strNameColumn As String)
     
            objDataSet.Relations.Clear()
     
            ' Réalisation de la relation
            '  > Création de la colonne Parent 
            Dim ColParent As DataColumn
            ColParent = objDataSet.Tables(strTblParent).Columns(strNameChpParent)
     
            '  > Création de la colonne Enfant
            Dim ColChild As DataColumn
            ColChild = objDataSet.Tables(strTblChild).Columns(strNameChpChild)
     
            '  > Création de la relation
            Dim RelationParentEnfant As DataRelation
            RelationParentEnfant = New DataRelation(strNameRelation, ColParent, ColChild)
     
            '  > Ajouter la relation au dataset 
            objDataSet.Relations.Add(RelationParentEnfant)
     
            '  > Ajouter une colonne dans la table Parent reprenant les valeurs d'une colonne de la table Enfant
            objDataSet.Tables(strTblChild).Columns.Add(strNameColumn, GetType(String), "Parent(" & strNameRelation & ")." & strNameChpDisplay & "")
     
        End Sub
    Voici le code qui rempli le dataset
    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
     
            ' Charger les tables dans le DataSet et créer les relations
            '  > Charger la table Véhicule
            clVehicule.ChargerTs(objDataSet, "ORDER BY Tbl_Vehicule.Immatriculation ASC")
     
            '  > Charger la table Marque et créer la relation Vehicule -> Marque
            clMarque.ChargerTs(objDataSet, "ORDER BY Tbl_Marque.Marque ASC")
            CreateRelation("TblMarque", "ID_Marque", "TblVehicule", "ID_TblMarque", "relVehiculeMarque", "Marque", "Marque")
            '  > Charger la table Modele et créer la relation Vehicule -> Modele
            clModele.ChargerTs(objDataSet, "ORDER BY Tbl_Modele.Modele ASC")
            CreateRelation("TblModele", "ID_Modele", "TblVehicule", "ID_TblModele", "relVehiculeModele", "Modele", "Modèle")
            '  > Charger la table Modele et créer la relation Vehicule -> Modele
            clGenre.ChargerTs(objDataSet, "ORDER BY Tbl_Genre.Genre ASC")
            CreateRelation("TblGenre", "ID_Genre", "TblVehicule", "ID_TblGenre", "relVehiculeGenre", "Genre", "Genre")
     
            ' > Charger le DataGridView avec le Dataset
            Me.dgvBase.DataSource = objDataSet.Tables("TblVehicule")
    Autrement pour la combobox, regarde du côté de ValueMember et DisplayMember.

    Gwendal

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Par défaut
    Merci je vais essayer de fair comme ça...

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/07/2006, 13h08
  2. [VB.NET] Récupération des settings dans un autre module
    Par boulete dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/04/2006, 16h05
  3. [vb.net] Récupération utilisateur windows
    Par Docteurfla dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/04/2006, 15h43
  4. [VB.NET] Récupération champ BD par son nom
    Par jojo-la-praline dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/04/2006, 08h21
  5. [C#] [.NET] Récupération des noms de tables d'une base
    Par GuillaumeG dans le forum Windows Forms
    Réponses: 7
    Dernier message: 07/04/2005, 13h31

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