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

ComboBox

4 réponses
Avatar
TrueColors
Salut,

J'ai un Windows Form sous VB. NET récupérant les données d'une table
Commandes.
Dans ce form j'ai un ComboBox qui doit récupérer les noms des clients à
partir d'une table Clients SELON la valeur ds la table Commandes, permettre
la modification et la mise à jour de cette valeur ds la table Commandes.
La valeur ds ce ComboBox doit être stockée ds la table Commandes.

Sous VBA je faisais comme ceci :

BoundColumn = 1
ControlSource = NoClient
RowSource = "SELECT Clients.NoClient, Clients.NomClient FROM Clients ORDER
BY Clients.NomClient ; "
RowSourceType = Table/Query

Pouvez vous m'aider.

MERCI.

4 réponses

Avatar
Gilles TOURREAU [MVP]
"TrueColors" a écrit dans le message de
news:
Salut,

J'ai un Windows Form sous VB. NET récupérant les données d'une table
Commandes.
Dans ce form j'ai un ComboBox qui doit récupérer les noms des clients à
partir d'une table Clients SELON la valeur ds la table Commandes,
permettre la modification et la mise à jour de cette valeur ds la table
Commandes.
La valeur ds ce ComboBox doit être stockée ds la table Commandes.

Sous VBA je faisais comme ceci :

BoundColumn = 1
ControlSource = NoClient
RowSource = "SELECT Clients.NoClient, Clients.NomClient FROM Clients ORDER
BY Clients.NomClient ; "
RowSourceType = Table/Query

Pouvez vous m'aider.

MERCI.





Bonjour,

Je n'ai pas compris ce que vous souhaitez faire, mais en regardant
globalement votre code, je pense que vous souhaitez récupérer les noms des
clients et les afficher dans un ComboBox.
Il suffit pour cela de créer un BindingSource qui prend comme source de
données votre DataSet (ou TableAdapter) contenant les Clients en ensuite
lier ce BindingSource à votre ComboBox...

Les propriétés à définir de votre ComboBox sont les suivantes :
.DataSource = VotreBindingSource
.DisplayMember = "NomClient"
.ValueMember = "NoClient"

Cordialement

Cordialement

--
Gilles TOURREAU - MVP C#
E-Mail :
Site Web : http://gilles.tourreau.fr

P.O.S - Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
TrueColors
Bonjour Gilles,
Merci de votre réponse.

Ds le formulaire "Commandes" de la base exemple "Les Comptoirs" ds Access,
la ComboBox "CodeClient" est peuplée des enregistrements de la table
"Clients"
mais elle affiche le Client selon la valeur de la clé étrangère de
la table "Commandes".

Quand vous naviguer a travers les enregistrements ds ce formulaire, le
Client
change mais ce que vous voyez affiché c'est pas (1,2 etc...)
mais "Alfreds Futterkiste", "Antonio Moreno Taquería", etc...

Donc la ComboBox "CodeClient" affiche les clients a partir de la table
"Clients"
mais stocke sa valeur ds la table "Commandes".

Elle touche deux tables, l'une pour sélectionner des enregistrements et
l'autre
pour stocker les valeurs selectionnées.

Merci Gilles


Bonjour,

Je n'ai pas compris ce que vous souhaitez faire, mais en regardant
globalement votre code, je pense que vous souhaitez récupérer les noms des
clients et les afficher dans un ComboBox.
Il suffit pour cela de créer un BindingSource qui prend comme source de
données votre DataSet (ou TableAdapter) contenant les Clients en ensuite
lier ce BindingSource à votre ComboBox...

Les propriétés à définir de votre ComboBox sont les suivantes :
.DataSource = VotreBindingSource
.DisplayMember = "NomClient"
.ValueMember = "NoClient"

Cordialement

Cordialement

--
Gilles TOURREAU - MVP C#
E-Mail :
Site Web : http://gilles.tourreau.fr

P.O.S - Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr




Avatar
Gilles TOURREAU [MVP]
"TrueColors" a écrit dans le message de
news:
Bonjour Gilles,
Merci de votre réponse.

Ds le formulaire "Commandes" de la base exemple "Les Comptoirs" ds Access,
la ComboBox "CodeClient" est peuplée des enregistrements de la table
"Clients"
mais elle affiche le Client selon la valeur de la clé étrangère de
la table "Commandes".

Quand vous naviguer a travers les enregistrements ds ce formulaire, le
Client
change mais ce que vous voyez affiché c'est pas (1,2 etc...)
mais "Alfreds Futterkiste", "Antonio Moreno Taquería", etc...

Donc la ComboBox "CodeClient" affiche les clients a partir de la table
"Clients"
mais stocke sa valeur ds la table "Commandes".

Elle touche deux tables, l'une pour sélectionner des enregistrements et
l'autre
pour stocker les valeurs selectionnées.

Merci Gilles




Ok, si j'ai bien compris, il y a une ComboBox qui représente les clients
dans ce cas :
- Ajoutez un BindingSource comme je l'ai indiqué dans le post précédent.
- Affectez les propriétés nécessaires comme je l'ai indiqué dans le post
précédent.

Ensuite vous disposez (ou vous devez) une fenêtre qui parcourt les tables
commandes via un BindingSource (appelé bsCommandes).
Il suffit ensuite d'attacher par DataBinding votre ComboBox pour que la
propriété SelectedValue prennent la valeur de votre "bsCommandes.NoClient".

Ainsi dès qu'une commande change, le client approprié, est sélectionné.

Cordialement

--
Gilles TOURREAU - MVP C#
E-Mail :
Site Web : http://gilles.tourreau.fr

P.O.S - Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
TrueColors
Salut Gilles,

J'ai fais ma ComboBox comme tu m'as dis ensuite j'ai attaché la proprieté
SelectedValue à un champ de mon formulaire "NoClient" et ca a marché.

MERCI.


"Gilles TOURREAU [MVP]" a écrit dans le message de
news:


Ok, si j'ai bien compris, il y a une ComboBox qui représente les clients
dans ce cas :
- Ajoutez un BindingSource comme je l'ai indiqué dans le post précédent.
- Affectez les propriétés nécessaires comme je l'ai indiqué dans le post
précédent.

Ensuite vous disposez (ou vous devez) une fenêtre qui parcourt les tables
commandes via un BindingSource (appelé bsCommandes).
Il suffit ensuite d'attacher par DataBinding votre ComboBox pour que la
propriété SelectedValue prennent la valeur de votre
"bsCommandes.NoClient".

Ainsi dès qu'une commande change, le client approprié, est sélectionné.

Cordialement

--
Gilles TOURREAU - MVP C#
E-Mail :
Site Web : http://gilles.tourreau.fr

P.O.S - Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr