p.delbrayelle
Messages postés13Date d'inscriptionvendredi 25 avril 2014StatutMembreDernière intervention31 mars 2017
-
Modifié par Whismeril le 25/04/2014 à 13:47
Whismeril
Messages postés19140Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention27 août 2024
-
25 avril 2014 à 13:47
Bonjour,
J'ai une base de données access employe (Nom, Prenom, Sexe, Adresse). Je souhaite afficher cette bdd dans un datagridview avec la colonne sexe en combobox proposant Homme, Femme.
Le problème est que lorsque j'active l'importation des données, j'ai une erreur au niveau des données de la combobox.
Mon code est le suivant :
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic
Public Class Form1
Dim Connexion As New OleDb.OleDbConnection()
Dim AdapTContact As OleDb.OleDbDataAdapter
Dim DtSet As New DataSet()
Dim Sql As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataGridView1.AutoGenerateColumns = False 'empeche la datagridview de créer les colonnes toutes seules
Dim Nc As DataGridViewColumn
DataGridView1.Columns.Add(New DataGridViewTextBoxColumn With {.Name = "Nom", .DataPropertyName = "Nom"})
DataGridView1.Columns.Add(New DataGridViewTextBoxColumn With {.Name = "Prenom", .DataPropertyName = "Prenom"})
'ajoute une colonne combobox avec les valeurs restreintes à l'énumération définie plus bas
Nc = New DataGridViewComboBoxColumn With {.Name = "Sexe", .DataPropertyName = "Sexe"} ', .DataSource = [Enum].GetValues(GetType(Sexe))}
DataGridView1.Columns.Add(Nc)
DataGridView1.Columns.Add(New DataGridViewTextBoxColumn With {.Name = "Adresse", .DataPropertyName = "Adresse"})
End Sub
Public Enum Sexe 'énumération pour la combobox
Homme = 0
Femme = 1
End Enum
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim connexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;data source = C:\Users\Philippe\Desktop\BDD2.accdb")
Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM Employe", connexion)
connexion.Open()
AdapTContact = New OleDbDataAdapter(cmd)
Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(AdapTContact)
DtSet = New DataSet()
AdapTContact.Fill(DtSet, "Employe")
DataGridView1.DataSource = DtSet.Tables("Employe").DefaultView
connexion.Close()
connexion = Nothing
End Sub
End Class