Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Aide pour remplir un combobox avec une table access

12 views
Skip to first unread message

doumo

unread,
May 3, 2010, 7:28:44 AM5/3/10
to
Salut,
Je suis d�butant et je voudrais de l'aide pour charger des combobox avec des
collones provenant de tables ACCESS.
Je vous envoie le bout de code que j'ai fait pour un combobox. A l'execution
mon combobox n'est pas charg�.
Je vous rappelle que je travaille avec VB.NET 2003

Private cnx As OleDbConnection
Private cmd As OleDbCommand
Private dta As OleDbDataAdapter
Private cmdb As OleDbCommandBuilder
Private dts As New DataSet
Private dtt As DataTable
Private dtc As DataColumn
Private dtr As DataRow
Private rownum As Integer
Private conn As String
Private sql As String
Public Sub fillCombobox(ByVal cbocombo As ComboBox, ByVal Ssql As
String, ByVal strtable As String, ByVal strdisplaymember As String, ByVal
intvaluemember As Integer)
cnx = New OleDbConnection
Try
With cnx
If .State = ConnectionState.Open Then .Close()
.ConnectionString = conn
.Open()
End With

cmd = New OleDbCommand(Ssql)
cmd.Connection = cnx
dta = New OleDbDataAdapter(cmd)
dta.Fill(dts, strtable)
cbocombo.DataSource = dts.Tables(strtable).DefaultView
cbocombo.DisplayMember = strdisplaymember
cbocombo.ValueMember = intvaluemember

Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
cnx.Close()
End Try
End Sub


Private Sub Form_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
conn = "provider=microsoft.jet.oledb.4.0; data
source=C:\bin\mabase.mdb;"
cnx = New OleDbConnection
cnx.ConnectionString = conn
cnx.Open()
fillCombobox(MonCBo, "select * from table1", "table1", "Colonne2",
"Colonne1")

End Sub


Hervé

unread,
May 4, 2010, 3:22:00 PM5/4/10
to
Bonsoir doumo,

A mettre dans le module de ta Form, pour l'exemple, deux ComboBox seront
remplis avec les deux premiers champs) :

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Dim Table As New DataTable
Dim Ligne As DataRowView
Dim Fichier As String
Dim NomTable As String = "NomDeLaTable"
Dim ChampTri As String = "ChampATrier"

Fichier = "C:\NomDeLaBaseDeDonn�es.mdb"

Table = ChargerTable(Fichier, _
"SELECT * FROM " & NomTable & " ORDER BY " &
ChampTri, NomTable)

For Each Ligne In Table.DefaultView

ComboBox1.Items.Add(Ligne.Item(0))
ComboBox2.Items.Add(Ligne.Item(1))

Next Ligne

End Sub

A mettre dans un module standard :

Imports System.Data.OleDb

Module Module1.vb

Public Function ChargerTable(ByVal Fichier As String, _
ByVal SQL As String, _
ByVal TableACharger As String) As DataTable

Dim Connexion As OleDbConnection = New OleDbConnection
Dim Jeu As New DataSet
Dim Table As DataTable
Dim Adaptateur As OleDbDataAdapter
Dim Provider As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="
Try

'r�cup�re les valeur dans la base de donn�es
Connexion.ConnectionString = Provider & Fichier
Connexion.Open()
Adaptateur = New OleDbDataAdapter(SQL, Connexion)
Adaptateur.Fill(Jeu, TableACharger)
Table = Jeu.Tables(TableACharger)

Return Table

Catch ex As Exception

Table = Nothing
Return Table

Finally

Connexion.Close()
Connexion = Nothing

End Try

End Function

End Module


Herv�.

"doumo" <t_m...@yahoo.com> a �crit dans le message de
news:uoUvXBr6...@TK2MSFTNGP02.phx.gbl...

doumo

unread,
May 5, 2010, 9:24:34 PM5/5/10
to
Merci,
je suis absent de mon bureau mais je vais essay� d�s que possible et revenir
pour vous rendre compte du r�sultat

"Herv�" <silve...@orange.fr> a �crit dans le message de groupe de
discussion : uOmdT876...@TK2MSFTNGP05.phx.gbl...

0 new messages