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 :

Liaison entre 2 tables ACCESS


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut Liaison entre 2 tables ACCESS
    Bonjour,

    J'effectue actuellement un projet de gestion d'un parc informatique dans le cadre des mes études en alternance.

    J'utilise une BDD ACCESS avec une interface VB.NET 2010 express.

    Actuellement, la base de données comprend 3 table. (USERS, USERS_CONFIG, CONFIG). USERS_CONFIG est ma relation entre la table USERS et CONFIG.

    J'ai fait la connexion à la base de donnée et j'arrive à afficher les données de la table USERS. (voir ci-dessous)

    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
     
    'connexion BDD de la table USERS
     
        Public Sub demarrage_users()
            con_user = New OleDbConnection
            con_user.ConnectionString = strConn
            strSql_user = "SELECT * FROM USERS"
            dta_user = New OleDbDataAdapter(strSql_user, con_user)
            dta_user.Fill(dts_user, "USERS")
        End Sub
     
    ' une partie de l'affichage des données
     
    TXT_ALPS_USER.Text = dts_user.Tables("USERS").Rows(i).Item("ALPS").ToString
            TXT_NOM_USER.Text = dts_user.Tables("USERS").Rows(i).Item("NOM_USER").ToString
     
    If dts_user.Tables("USERS").Rows(i).Item("ID_LOTUS") Is DBNull.Value Then
                TXT_TELMOBILE.Text = ""
            Else
                TXT_IDLOTUS.Text = dts_user.Tables("USERS").Rows(i).Item("ID_LOTUS")
            End If
    Néanmoins, je n'arrive pas à afficher les postes affectés un utilisateur. J'ai essayé d'employer la même méthode avec le dataset mais il me prend un index qui a pour valeur le champ ALPS. (donc j'ai un message me disant aucun champs à l'index valeur ALPS ) (voir ci-dessous)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    'connexion BDD de la table USERS_CONFIG
        Public Sub demarage_user_config()
            con_user_config = New OleDbConnection
            con_user_config.ConnectionString = strConn
            strSql_user_config = "SELECT * FROM USERS_CONFIG"
            dta_user_config = New OleDbDataAdapter(strSql_user_config, con_user_config)
            dta_user_config.Fill(dts_user_config, "USERS_CONFIG")
     
     
    'liaison table USERS_CONFIG pour afficher les postes affectés à l'utilisateur
    TXT_ASSET.Text = dts_user_config.Tables("USERS_CONFIG").Rows(dts_user.Tables("USERS").Rows(i).Item("ALPS")).Item("ASSET")
    Merci par avance pour votre aide ou information

    Cordialement,

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bonjour,

    peut tu nous donner la strucuture de ta BDD.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TXT_ASSET.Text = dts_user_config.Tables("USERS_CONFIG").Rows(_ 
    dts_user.Tables("USERS").Rows(i).Item("ALPS")).Item("ASSET")
    a moins que tu ais des valeur numérique qui correspondent aux lignes dans ALPS,
    requête ne fonctionnera pas...

    qu'est ce que tu veut faire en vrai?
    quelles valeurs veut tu comparer ou prendre en compte?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    Vous trouverez en pièce jointe le MCD comprenant les 2 tables et l'association.

    ALPS correspond à l'identifiant de l'utilisateur. Il est de type numérique.

    ASSET correspond à l'identifiant du poste. Il est de type Texte. Un utilisateur peut avoir 0 ou plusieurs postes

    J'aimerai à partir de l'association USERS_CONFIG afficher le ou les poste(s) affecté(s) à l'utilisateur en cours. (voir pièce jointe "fichier interface")

    En espérant avoir été clair. Et merci d'avoir pris le temps de me répondre.

    Cordialement,
    Images attachées Images attachées   

  4. #4
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    tu confond entre numéro de ligne et "ID utilisateur" *ils sont différents*
    (ce que je t'ai mis en gras au précédement est censé etre un numéro de ligne, pas un ID)

    comment est défini ton utilisateur en cours? par sont ALPS?

    comme je n'ai que des bouts de code, je peut te proposer l'idée suivante:*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i as integer = 0 to xx 
        If dts_user.Tables("USERS_CONFIG").Rows(i).Item("ALPS") = Mon_ALPS_en_cours Then
            TXT_ASSET.Text = dts_user_config.Tables("USERS_CONFIG").Rows(i).Item("ASSET")
        end If
    Next

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    salut hunteshiva,

    Je ne confond pas du tout le numéro de ligne (index pour ma part soit i dans mon code) et l'ID utilisateur (ALPS)

    Ton premier exemple est le même que j'ai transmis lors de l'ouverture du post.

    Pour ton dernier message, je ne comprend pas pourquoi intégrer une boucle FOR. A quoi cela servira t'il dans mon cas ?

    Je transmets le code réalisé à ce jour.

    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
    67
     
     
    'Lorsque je clique sur le bouton utilisateur, affichage des informations de l'utilisateur.
     
        Public Sub BT_consultUsers_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_consultUsers.Click
     
            BindingNavigatorMoveNextItem.Enabled = True
            BindingNavigatorMovePreviousItem.Enabled = True
            BindingNavigatorMoveFirstItem.Enabled = True
            BindingNavigatorMoveLastItem.Enabled = True
            Dim index As Integer
     
            TXT_ALPS_USER.Text = dts_user.Tables("USERS").Rows(i).Item("ALPS").ToString
            TXT_NOM_USER.Text = dts_user.Tables("USERS").Rows(i).Item("NOM_USER").ToString
            TXT_PRENOM_USER.Text = dts_user.Tables("USERS").Rows(i).Item("PRENOM_USER").ToString
            CB_ACTIVITE_USER.Text = dts_user.Tables("USERS").Rows(i).Item("ACTIVITE_PSF").ToString
            TXT_LIB_ACTIVITE.Text = dts_activite.Tables("ACTIVITES").Rows(i).Item("LIB_ACTIVITE").ToString
            CB_CC.Text = dts_user.Tables("USERS").Rows(i).Item("ID_CC").ToString
            TXT_LIB_CC.Text = dts_cc.Tables("CC").Rows(i).Item("LIB_CC").ToString
            TXT_resp_cc.Text = dts_cc.Tables("CC").Rows(i).Item("RESP_CC").ToString
            CB_FACTURATION.Text = dts_user.Tables("USERS").Rows(i).Item("STE_FACTURATION").ToString
            TXT_CHANTIER_SEDENTAIRE.Text = dts_user.Tables("USERS").Rows(i).Item("CHANTIER/SEDENTAIRE").ToString
            CB_TYPE_CONTRAT_USER.Text = dts_user.Tables("USERS").Rows(i).Item("TYPE_CONTRAT_USER").ToString
            TXT_BUREAU_USER.Text = dts_user.Tables("USERS").Rows(i).Item("BUREAU_USER").ToString
            TXT_BAT_USER.Text = dts_user.Tables("USERS").Rows(i).Item("BATIMENT").ToString
     
    'champ non obligatoire pour un utilisateur,
     
            If dts_user.Tables("USERS").Rows(i).Item("ID_LOTUS") Is DBNull.Value Then
                TXT_TELMOBILE.Text = ""
            Else
                TXT_IDLOTUS.Text = dts_user.Tables("USERS").Rows(i).Item("ID_LOTUS")
            End If
     
            If dts_user.Tables("USERS").Rows(i).Item("LOG_DOM2") Is DBNull.Value Then
                TXT_TELMOBILE.Text = ""
            Else
                TXT_LOG_DOM2.Text = dts_user.Tables("USERS").Rows(i).Item("LOG_DOM2")
            End If
     
            If dts_user.Tables("USERS").Rows(i).Item("TELEPHONE_PORTABLE") Is DBNull.Value Then
                TXT_TELMOBILE.Text = ""
            Else
                TXT_TELMOBILE.Text = dts_user.Tables("USERS").Rows(i).Item("TELEPHONE_PORTABLE")
            End If
     
            If dts_user.Tables("USERS").Rows(i).Item("ID_PDM") Is DBNull.Value Then
                TXT_ID_PDM.Text = ""
            Else
                TXT_ID_PDM.Text = dts_user.Tables("USERS").Rows(i).Item("ID_PDM")
            End If
     
            If dts_user.Tables("USERS").Rows(i).Item("MAIL_USER") Is DBNull.Value Then
                TXT_MAIL_USER.Text = ""
            Else
                TXT_MAIL_USER.Text = dts_user.Tables("USERS").Rows(i).Item("MAIL_USER")
            End If
     
            If dts_user.Tables("USERS").Rows(i).Item("TELEPHONE_FIXE") Is DBNull.Value Then
                TXT_TELFIXE.Text = ""
            Else
                TXT_TELFIXE.Text = dts_user.Tables("USERS").Rows(i).Item("TELEPHONE_FIXE")
            End If
     
     
     
        End Sub
    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
     
    ' code permettant de me déplacer dans la base de données
     
    Private Sub BindingNavigatorMoveNextItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorMoveNextItem.Click
            If i <> maxrow - 1 Then
                i = i + 1
                BT_consultUsers_Click(sender, e)
            Else
                MsgBox("Dernier enregistrement")
            End If
     
        End Sub
     
        Private Sub BindingNavigatorMovePreviousItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorMovePreviousItem.Click
            If i > 0 Then
                i = i - 1
                BT_consultUsers_Click(sender, e)
            Else
                MsgBox("Premier enregistrement")
            End If
        End Sub
     
        Private Sub BindingNavigatorMoveLastItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorMoveLastItem.Click
            If inc <> maxrow - 1 Then
                i = maxrow - 1
                BT_consultUsers_Click(sender, e)
            End If
        End Sub
     
        Private Sub BindingNavigatorMoveFirstItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorMoveFirstItem.Click
            If i <> 0 Then
                i = 0
                BT_consultUsers_Click(sender, e)
            End If
        End Sub

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    Ok d'accord je viens seulement de comprendre l'intérêt de ton FOR. Mais si le nombre de ligne vient à varier dans ma table USER_CONFIG ? Comment je fais ? N'a t'il pas un moyen plus simple et plus sûr ?

    Merci encore pour l'intérêt que tu portes à mon problème,

    Cdlt,

  7. #7
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    tu a deux options:


    pourquoi ta liaison ne fonctionne pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TXT_ASSET.Text = dts_user_config.Tables("USERS_CONFIG").Rows(dts_user.Tables("USERS").Rows(i).Item("ALPS")).Item("ASSET")
     
     
    'Tu a besoin d'entrer un numéro de ligne
    TXT_ASSET.Text = dts_user_config.Tables("USERS_CONFIG").Rows("...............Numéro de ligne...........").Item("ASSET")
    'or ceci :
    dts_user.Tables("USERS").Rows(i).Item("ALPS")
    'ne retourne pas de numéro de ligne..


    je trouve que ta solution a des limites...
    ex:
    tu balaye "USERS_CONFIG"
    l'index i montre la ligne
    seulement tu ne peut pas dire que la ligne i est la même pour ta table "USERS" et "USERS_CONFIG" (sans parler des autres tables)
    *sauf si les deux tables ont le même nombre de lignes et sont indexées pareil*

    PS: la boucle For dont je t'ai parlé est horriblement fausse pour les raisons que j'ai cité au dessus

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    Salut,

    Sans abuser, serait il possible que tu me donnes un exemple avec une requête SQL ?

    Merci par avance,

  9. #9
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Bien sur ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT ASSET FROM USERS_CONFIG WHERE ALPS = '" Ma_valeur_ALPS"'"
    *ça te retourne l'ASSET en fonction de ton ALPS*

    mais si tu as du mal avec les requetes SQL regarde ici:


    --> Source

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    Merci beaucoup,

    Je connais les syntaxes principales SQL mais je n'arrive pas à l'appliquer sur vb et encore moins pour mon exemple ....

    Je suis un cas désespéré :/

  11. #11
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Pas désépréré quand même

    bon reprenons ce que tu fait:
    • idée:
      balayer avec un curseur la BDD
    • souci:
      ton curseur est le même pour toutes les valeurs des 3 tables...
    • possibilité:
      le curseur pointe que sur ALPS
      3 boucles FOR qui vont balayer ta BDD à partir de l'ALPS choisi *3 boucles FOR car 3 tables*
      1. La première boucle balaye la table USERS *connaissant ALPS*
        et rempli les champs qui correspondent à la table
      2. La seconde Balaye la table USERS_CONFIG *connaissant ALPS*
        et rempli les champs qui correspondent à la table
      3. La troisième Balaye la table CONFIG *connaissant ASSET*
        et rempli les champs qui correspondent à la table


    voila aprés je suis p-e totalement à coté de ce que tu cherche...

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    Salut,

    Merci et non tu n'est pas à coté,

    Néanmoins, si je me trompe pas. Si mon code ALPS est trouvé, la boucle FOR s'arrête, n'est ce pas ?

    Alors ça n'ira pas si l'utilisateur dispose de plusieurs postes ? Dois je plutôt utiliser un tant que ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim j As Integer
            Dim compteur As Integer = 0
            For j = 0 To dts_user_config.Tables.Count
                If dts_user_config.Tables("USERS_CONFIG").Rows(j).Item("ALPS") = dts_user.Tables("USERS").Rows(i).Item("ALPS") Then
                    compteur = compteur + 1
                    TXT_ASSET.Text = dts_user_config.Tables("USERS_CONFIG").Rows(j).Item("ASSET")
                End If
     
            Next
    Pouff franchement je sais pas si je vais pouvoir finir ça à temps !!

  13. #13
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Heuu non
    un boucle For s’arrête quand elle à tout balayé.

    attention:
    • à la connaissance tu va faire un débourdement si tu t'arréte pas à Count -1
    • et tu n'a pas précisé la table que tu regarde ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            For j = 0 To (dts_user_config.Tables("USERS_CONFIG").Count -1)
                ' Commence à la première ligne -> 0
                ' Et va jusqu'a  la derniére ligne de la table "USERS_CONFIG"
            Next
    alors qu'une boucle While va s’arrêter à la condition que tu lui précise
    *dsl j'ai pas d'exemple sous la main*

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    Pouff ça commence vraiment à me pomper,

    J'ai çà pour l'instant qui me paraît correct pour afficher le poste de chaque utilisateur. Mais ça ne marche pas !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            Dim j As Integer
            For j = 0 To (dts_user_config.Tables.Count - 1)
                If dts_user_config.Tables("USERS_CONFIG").Rows(j).Item("ALPS") = TXT_ALPS_USER.Text Then
                    TXT_ASSET.Text = dts_user_config.Tables("USERS_CONFIG").Rows(j).Item("ASSET")
                End If
            Next
    le txt_asset.text ne bouge pas. Avant que je commence à trifouiller ma boucle pour trouver un moyen d'afficher plusieurs poste pour 1 utilisateur, cela marchait

  15. #15
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Compter les lignes d'un dataset
    dataset.Tables("nom de ta table").rows.count
    désolé, pour la syntaxe.

    PS:je pose ton probleme, je te donne le code... j'ai envie de dire "What Else?"

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    Bonjour,

    Lol, même les pros peuvent faire des erreurs ^^

    Mais en tout cas merci de prendre la patience de m'expliquer

    J'aimerais avoir encore ton avis pour afficher les postes des utilisateurs. Voila en faite je crois que je vais faire avec un datagridview qui sera plus simple vu mon niveau ^^.

    J'ai modifier le code pour ma connexion et j'aimerais dans un premier temps savoir si il est cohérent à tes yeux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            con_user_config = New OleDbConnection
            con_user_config.ConnectionString = strConn
            strSql_user_config = "SELECT * FROM USERS_CONFIG"
            dta_user_config = New OleDbDataAdapter(strSql_user_config, con_user_config)
            con_user_config.Open()
            dta_user_config.Fill(dts_user_config, "USERS_CONFIG")
    Ma question principale est au niveau de l'affichage, j'ai repris le même principe avec une boucle FOR mais ça ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            Dim j As Integer
            For j = 0 To (dts_user_config.Tables("USERS_CONFIG").Rows.Count - 1)
                If TXT_ALPS_USER.Text = dts_user_config.Tables("USERS_CONFIG").Rows(j).Item("ALPS") Then
                    DataGridView1.DataSource = dts_user_config.Tables("USERS_CONFIG").Rows(j).Item("ASSET")
                End If
     
            Next
    Est ce que cela pourrait être possible ?

  17. #17
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    il y a une chose que je ne comprend pas...
    tu t’entête à recopier ta BDD dans un DataSet que tu va balayer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     strSql_user_config = "SELECT * FROM USERS_CONFIG"
    Pourquoi ne pas faire simplement une requête SQL qui va retourner ce que tu veux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSql_user_config_Find_ASSET_By_ALPS = "SELECT ASSET FROM USERS_CONFIG WHERE ALPS = '"TXT_ALPS_USER.Text"'"
    PS: c'est une idée, vérifie la syntaxe avant

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    Car la connexion se trouve sur un module à part (je ne l'ai pas stipuler). Et je ne peux pas reprendre mon textbox ALPS. A moins que ce soit faisable ?

    M'abandonne pas stp

  19. #19
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    On tourne en rond Ced39300,

    • soit tu fait des requêtes SQL *chose difficile apparemment*
    • soit tu balaye ton DataSet


    bon j'ai regardé dans le cour de P.Lasserre, tu a une partie "Trier,Filtrer, rechercher" qui pourrait t'intéresser.

    Ta boucle For m'a l'air correcte, seul soucis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGridView1.DataSource = dts_user_config.Tables("USERS_CONFIG").Rows(j).Item("ASSET")
    Que cherche tu a afficher exactement? tous les 'ASSET' qui corespondent a l'ALPS ?
    En cherchant un peut, j'ai trouvé ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TonDataGridView.Rows.Add(TesValeurs)
    je ne dev sur des BDD en ce moment, essaye d'adapter le code. *je n'ai que des idées*

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut
    Dsl ..

    Oui en effet je veux tous les 'ASSET' qui corespondent a l'ALPS.

    Je vais lire le cours,

    Merci encore pour ta patience

Discussions similaires

  1. [VBA-A] liaison entre deux tables
    Par lumbroso dans le forum VBA Access
    Réponses: 16
    Dernier message: 01/06/2006, 11h22
  2. liaison entre les tables
    Par celticval dans le forum Access
    Réponses: 19
    Dernier message: 05/04/2006, 17h49
  3. Comparaison de champs entre 2 tables ACCESS
    Par Proview dans le forum Access
    Réponses: 12
    Dernier message: 25/03/2006, 23h25
  4. Problème de jointure entre 2 tables Access
    Par MITCH31 dans le forum VBA Access
    Réponses: 8
    Dernier message: 14/12/2005, 15h31
  5. VB : Jointure entre 2 tables Access
    Par MITCH31 dans le forum Access
    Réponses: 7
    Dernier message: 14/12/2005, 12h55

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