Recherche à partir des valeurs d'une colonne d'une DataGridView

Résolu
walidbebe
Messages postés
13
Date d'inscription
mardi 18 juillet 2017
Statut
Membre
Dernière intervention
29 juillet 2017
- 18 juil. 2017 à 19:23
walidbebe
Messages postés
13
Date d'inscription
mardi 18 juillet 2017
Statut
Membre
Dernière intervention
29 juillet 2017
- 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 .

6 réponses

Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
596
19 juil. 2017 à 19:53
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

0
walidbebe
Messages postés
13
Date d'inscription
mardi 18 juillet 2017
Statut
Membre
Dernière intervention
29 juillet 2017

23 juil. 2017 à 15:53
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.
0
Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
596
23 juil. 2017 à 17:56
Et comment tu importes les données d'excel?
0
walidbebe
Messages postés
13
Date d'inscription
mardi 18 juillet 2017
Statut
Membre
Dernière intervention
29 juillet 2017

23 juil. 2017 à 23:07
avec OpenFileDialog
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
596
23 juil. 2017 à 23:14
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.
0
walidbebe
Messages postés
13
Date d'inscription
mardi 18 juillet 2017
Statut
Membre
Dernière intervention
29 juillet 2017

24 juil. 2017 à 01:18
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
0
Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
596
24 juil. 2017 à 17:22
Et bien ce qu'il faut faire, c'est itérer chaque ligne de ta datatable, en extraire le nom, tu fais la requête qui va bien dans la base de données qui remplit un autre datatable ou une list<T>.

Je ne peux pas te proposer de code exemple maintenant, je suis sur ma tablette.
0
walidbebe
Messages postés
13
Date d'inscription
mardi 18 juillet 2017
Statut
Membre
Dernière intervention
29 juillet 2017
> Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022

24 juil. 2017 à 23:19
un exemple de code ça sera idéal.
0
Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
596 > walidbebe
Messages postés
13
Date d'inscription
mardi 18 juillet 2017
Statut
Membre
Dernière intervention
29 juillet 2017

Modifié le 25 juil. 2017 à 07:37
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
0
walidbebe
Messages postés
13
Date d'inscription
mardi 18 juillet 2017
Statut
Membre
Dernière intervention
29 juillet 2017
> Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022

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().
0
Whismeril
Messages postés
17333
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
596 > walidbebe
Messages postés
13
Date d'inscription
mardi 18 juillet 2017
Statut
Membre
Dernière intervention
29 juillet 2017

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
0