Recherche à partir des valeurs d'une colonne d'une DataGridView [Résolu]

walidbebe 13 Messages postés mardi 18 juillet 2017Date d'inscription 29 juillet 2017 Dernière intervention - 18 juil. 2017 à 19:23 - Dernière réponse : walidbebe 13 Messages postés mardi 18 juillet 2017Date d'inscription 29 juillet 2017 Dernière intervention
- 28 juil. 2017 à 10:42
bonjour,

- j'ai une table nommé employes avec deux champs : nom - matricule
- j'ai une DataGridView avec deux colonnes : Nom_Salarié - Num_Salarié

dans ma DataGridView j'ai la colonne (nom) remplie avec les nom des salariés

comment afficher le matricule de chaque salarié dans la colonne (Num_Salarié) de ma DataGridView à partir de ma table (employes)

merci d'avance .
Afficher la suite 
13Messages postés mardi 18 juillet 2017Date d'inscription 29 juillet 2017 Dernière intervention

13 réponses

Répondre au sujet
Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 19 juil. 2017 à 19:53
0
Utile
Bonsoir

c'est à peu près la même chose que là
http://www.commentcamarche.net/forum/affich-34734889-probleme-d-affiche-dans-une-boucle-foreach#1

Cette discussion est en C#, mais tu peux traduire le code avec des traducteurs en ligne

Commenter la réponse de Whismeril
walidbebe 13 Messages postés mardi 18 juillet 2017Date d'inscription 29 juillet 2017 Dernière intervention - 23 juil. 2017 à 15:53
0
Utile
bonjour,

merci beaucoup Whismeril pour votre réponse mais désolé j'arrive pas à adapter le code avec mon cas.

Mon DataGridView est rempli avec des données importées à partir d'un fichier excel.ensuite je veux faire une recherche dans une table sql (employes) où ils sont stockés les matricules de tous les salariés de la société pour associer seulement le matricule des salariés qui sont affichés dans mon DataGridView.

comment parcourir les lignes de mon DataGridView et faire une recherche ligne par ligne pour mettre le matricule des salariés dans une colonne nommée (Num_Salarié)

merci d'avance.
Commenter la réponse de walidbebe
Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 23 juil. 2017 à 17:56
0
Utile
Et comment tu importes les données d'excel?
Commenter la réponse de Whismeril
walidbebe 13 Messages postés mardi 18 juillet 2017Date d'inscription 29 juillet 2017 Dernière intervention - 23 juil. 2017 à 23:07
0
Utile
avec OpenFileDialog
Commenter la réponse de walidbebe
Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 23 juil. 2017 à 23:14
0
Utile
Non, l'openfiledialog permet de choisir un fichier, mais ne le lit pas.
Il y a plusieurs façon de lire des données dans Excel, ce que je te demande, c'est laquelle tu utilises, ou de montrer le code de lecture.
Commenter la réponse de Whismeril
walidbebe 13 Messages postés mardi 18 juillet 2017Date d'inscription 29 juillet 2017 Dernière intervention - 24 juil. 2017 à 01:18
0
Utile
7
Dim Conn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & TParcourir.Text & "';Extended Properties=""Excel 12.0 xml; HDR=Yes"";")
Conn.Open()

Dim DTT As New System.Data.DataTable
Dim cmd As New OleDbCommand("select * from [FICHNREG$]", Conn)
Dim dr As OleDbDataReader = cmd.ExecuteReader
DTT.Load(dr)
DGV.DataSource = DTT
Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention > walidbebe 13 Messages postés mardi 18 juillet 2017Date d'inscription 29 juillet 2017 Dernière intervention - 25 juil. 2017 à 07:35
Comme je l'ai dit dans l'autre discussion, les bases de données c'est pas trop mon truc.
Je n'ai pas testé le code, mais au moins Visual Studio n'a pas trouvé d'erreurs de syntaxe

            'Conn est la connexion vers excel
            'Conn2 est la connexion vers la base de données
            Dim DTT As New System.Data.DataTable()
            Dim cmd As New OleDbCommand("select * from [FICHNREG$]", Conn)
            Dim dr As OleDbDataReader = cmd.ExecuteReader()
            DTT.Load(dr)

                Dim dt2 As New DataTable()
            For Each r As DataRow In DTT.Rows
                Dim SDA1 As New SqlDataAdapter("SELECT Num_Salarié,Nom_Salarié from employes  Where Ref_Art='" & r.Field(Of String)("Nom") & "'", Conn2) 'pour le nom du Field j'ai psupposé que ta colonne Excel s'appelle Nom
                SDA1.Fill(dt2)

            Next r
            dataGridView1.DataSource = dt2
walidbebe 13 Messages postés mardi 18 juillet 2017Date d'inscription 29 juillet 2017 Dernière intervention > Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 25 juil. 2017 à 11:24
ça marche impec merci beaucoup.
juste une petite modification,

Dim dt2 As New System.Data.DataTable() au lieu de Dim dt2 As New DataTable().
Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention > walidbebe 13 Messages postés mardi 18 juillet 2017Date d'inscription 29 juillet 2017 Dernière intervention - 25 juil. 2017 à 11:50
Oui, dans ma form de test, j'ai mis tout en haut Imports System.Data, ça évite de le répéter
Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention > Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 25 juil. 2017 à 11:51
Si ça te convient, pense à mettre le sujet résolu
walidbebe 13 Messages postés mardi 18 juillet 2017Date d'inscription 29 juillet 2017 Dernière intervention > Whismeril 10512 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 28 juil. 2017 à 10:42
bonjour,

c'est noté merci pour votre collaboration.
Commenter la réponse de walidbebe

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.