Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Vider combobox - problème [Débutant VB Net]

3 réponses
Avatar
Jacques
Bonjour,

Je n'arrive pas à vider un combobox !

Mon formulaire s'ouvre à partir d'un autre formulaire à partir d'un bouton.
Ce nouveau formulaire contient un combobox et deux boutons dont un est
"annuler".
Sur le clic de ce bouton il y a un me.close().

Si je sélectionne un élement dans ma combobox et qu'ensuite je clique sur
le bouton 'Annuler' et si je reviens de nouveau dans ce formulaire , mes
données
sont double !???
Comment remédier à cela? Normalement le Items.Clear() devrait m'effacer ma
liste...non ??

Ci-dessous le code

Merci de vos réponses

Jacques


Dans le form load de mon nouveau formulaire :

ComboBox1.Items.Clear() ' vider la combobox

strSql = "Select DISTINCT Projet From TravMin"

If OuvrirConnection() Then

ObjetCommand = New OleDbCommand(strSql)

ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
ObjetCommand.Connection() = ObjetConnection
ObjetDataAdapter.Fill(ObjetDataSet, "TravMin")
ObjetDataTable = ObjetDataSet.Tables("TravMin")

'remplir la combobox
For Each Enregistrement As DataRow In ObjetDataTable.Rows
Me.ComboBox1.Items.Add(Enregistrement("Projet"))
Next

End If

3 réponses

Avatar
Millox Frédéric
Bonjour Jacques,

Lorsque tu fais ObjetDataAdapter.Fill(ObjetDataSet, "TravMin")
As-tu fais avant :

ObjetDataSet.Table("TravMin").Clear
ou
Ton instance ObjetDataSet a été réinitialisée ?????

Car si tu n'as pas fait aucun des deux, ce n'est pas le combobox que tu
n'arrives pas à vider....

A+

--
fmillox


"Jacques" a écrit :

Bonjour,

Je n'arrive pas à vider un combobox !

Mon formulaire s'ouvre à partir d'un autre formulaire à partir d'un bouton.
Ce nouveau formulaire contient un combobox et deux boutons dont un est
"annuler".
Sur le clic de ce bouton il y a un me.close().

Si je sélectionne un élement dans ma combobox et qu'ensuite je clique sur
le bouton 'Annuler' et si je reviens de nouveau dans ce formulaire , mes
données
sont double !???
Comment remédier à cela? Normalement le Items.Clear() devrait m'effacer ma
liste...non ??

Ci-dessous le code

Merci de vos réponses

Jacques


Dans le form load de mon nouveau formulaire :

ComboBox1.Items.Clear() ' vider la combobox

strSql = "Select DISTINCT Projet From TravMin"

If OuvrirConnection() Then

ObjetCommand = New OleDbCommand(strSql)

ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
ObjetCommand.Connection() = ObjetConnection
ObjetDataAdapter.Fill(ObjetDataSet, "TravMin")
ObjetDataTable = ObjetDataSet.Tables("TravMin")

'remplir la combobox
For Each Enregistrement As DataRow In ObjetDataTable.Rows
Me.ComboBox1.Items.Add(Enregistrement("Projet"))
Next

End If





Avatar
Millox Frédéric
Rebonjour,

Dernier point : remplir une combobox

Petit exemple:
Une table Personne contient :

Id Nom Prenom
1 toto ptoto
2 tutu ptutu
3 titi ptiti

strSql = "Select Id, Nom, Prenom From Personne"

If OuvrirConnection() Then
ObjetCommand = New OleDbCommand(strSql)

ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
ObjetCommand.Connection() = ObjetConnection
ObjetDataAdapter.Fill(ObjetDataSet, "Personne")
ObjetDataTable = ObjetDataSet.Tables("Personne")

'remplir la combobox
With ComboBox1
.DataSource = ObjetDataTable
.DisplayMember = "Nom"
.ValueMember = "Prenom"
.Text = "Nom à choisir"
End With

Cette combobox affichera les trois noms de la table Personne et retournera,
avec ComboBox1.SelectedValue, le prénom associé à ce nom.

Bonne journée.

--
fmillox


"Millox Frédéric" a écrit :

Bonjour Jacques,

Lorsque tu fais ObjetDataAdapter.Fill(ObjetDataSet, "TravMin")
As-tu fais avant :

ObjetDataSet.Table("TravMin").Clear
ou
Ton instance ObjetDataSet a été réinitialisée ?????

Car si tu n'as pas fait aucun des deux, ce n'est pas le combobox que tu
n'arrives pas à vider....

A+

--
fmillox


"Jacques" a écrit :

> Bonjour,
>
> Je n'arrive pas à vider un combobox !
>
> Mon formulaire s'ouvre à partir d'un autre formulaire à partir d'un bouton.
> Ce nouveau formulaire contient un combobox et deux boutons dont un est
> "annuler".
> Sur le clic de ce bouton il y a un me.close().
>
> Si je sélectionne un élement dans ma combobox et qu'ensuite je clique sur
> le bouton 'Annuler' et si je reviens de nouveau dans ce formulaire , mes
> données
> sont double !???
> Comment remédier à cela? Normalement le Items.Clear() devrait m'effacer ma
> liste...non ??
>
> Ci-dessous le code
>
> Merci de vos réponses
>
> Jacques
>
>
> Dans le form load de mon nouveau formulaire :
>
> ComboBox1.Items.Clear() ' vider la combobox
>
> strSql = "Select DISTINCT Projet From TravMin"
>
> If OuvrirConnection() Then
>
> ObjetCommand = New OleDbCommand(strSql)
>
> ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
> ObjetCommand.Connection() = ObjetConnection
> ObjetDataAdapter.Fill(ObjetDataSet, "TravMin")
> ObjetDataTable = ObjetDataSet.Tables("TravMin")
>
> 'remplir la combobox
> For Each Enregistrement As DataRow In ObjetDataTable.Rows
> Me.ComboBox1.Items.Add(Enregistrement("Projet"))
> Next
>
> End If
>
>
>


Avatar
Jacques
Merci pour cet éclaircissement ! :-)

Jacques


"Millox Frédéric" a écrit dans le
message de news:
Rebonjour,

Dernier point : remplir une combobox

Petit exemple:
Une table Personne contient :

Id Nom Prenom
1 toto ptoto
2 tutu ptutu
3 titi ptiti

strSql = "Select Id, Nom, Prenom From Personne"

If OuvrirConnection() Then
ObjetCommand = New OleDbCommand(strSql)

ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
ObjetCommand.Connection() = ObjetConnection
ObjetDataAdapter.Fill(ObjetDataSet, "Personne")
ObjetDataTable = ObjetDataSet.Tables("Personne")

'remplir la combobox
With ComboBox1
.DataSource = ObjetDataTable
.DisplayMember = "Nom"
.ValueMember = "Prenom"
.Text = "Nom à choisir"
End With

Cette combobox affichera les trois noms de la table Personne et


retournera,
avec ComboBox1.SelectedValue, le prénom associé à ce nom.

Bonne journée.

--
fmillox


"Millox Frédéric" a écrit :

> Bonjour Jacques,
>
> Lorsque tu fais ObjetDataAdapter.Fill(ObjetDataSet, "TravMin")
> As-tu fais avant :
>
> ObjetDataSet.Table("TravMin").Clear
> ou
> Ton instance ObjetDataSet a été réinitialisée ?????
>
> Car si tu n'as pas fait aucun des deux, ce n'est pas le combobox que tu
> n'arrives pas à vider....
>
> A+
>
> --
> fmillox
>
>
> "Jacques" a écrit :
>
> > Bonjour,
> >
> > Je n'arrive pas à vider un combobox !
> >
> > Mon formulaire s'ouvre à partir d'un autre formulaire à partir d'un


bouton.
> > Ce nouveau formulaire contient un combobox et deux boutons dont un est
> > "annuler".
> > Sur le clic de ce bouton il y a un me.close().
> >
> > Si je sélectionne un élement dans ma combobox et qu'ensuite je clique


sur
> > le bouton 'Annuler' et si je reviens de nouveau dans ce formulaire ,


mes
> > données
> > sont double !???
> > Comment remédier à cela? Normalement le Items.Clear() devrait


m'effacer ma
> > liste...non ??
> >
> > Ci-dessous le code
> >
> > Merci de vos réponses
> >
> > Jacques
> >
> >
> > Dans le form load de mon nouveau formulaire :
> >
> > ComboBox1.Items.Clear() ' vider la combobox
> >
> > strSql = "Select DISTINCT Projet From TravMin"
> >
> > If OuvrirConnection() Then
> >
> > ObjetCommand = New OleDbCommand(strSql)
> >
> > ObjetDataAdapter = New OleDbDataAdapter(ObjetCommand)
> > ObjetCommand.Connection() = ObjetConnection
> > ObjetDataAdapter.Fill(ObjetDataSet, "TravMin")
> > ObjetDataTable = ObjetDataSet.Tables("TravMin")
> >
> > 'remplir la combobox
> > For Each Enregistrement As DataRow In ObjetDataTable.Rows
> > Me.ComboBox1.Items.Add(Enregistrement("Projet"))
> > Next
> >
> > End If
> >
> >
> >