IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

[VB.NET] Remplissage d'une Combobox à partir d'une base de données


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut [VB.NET] Remplissage d'une Combobox à partir d'une base de données
    Bonjour, après avoir épuré les forums, FaQ, et autres, je me tourne vers vous :

    Je veux remplir 3 ComboBox a partir d'une Base de données liées a mon projet.

    Avec l'assistance ComboBox les CBs sont remplies et présentent toutes les lignes de ma BDD, mais l'obj de ces CBs est que les 2 premières agissent comme un filtre :

    Il faut imaginer la première CB avec le nom de tout les pays d'europe, la dexième avec les filtres et la dernière avec le nom des rues.

    c'est pourquoi je pensais remplir mes CBs à partir de requêtes SQL du genre :

    select distinct Ville from map

    Si vous pouviez m'orienter vous seriez top

    gab

  2. #2
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par gabouille Voir le message
    Il faut imaginer la première CB avec le nom de tout les pays d'europe, la dexième avec les filtres et la dernière avec le nom des rues.
    J'essaye d'imaginer mais j'y arrive pas trop ...
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    bonjour,

    je vais tenter de ré expliquer

    j'ai une DB :


    Colonne pays colonne Ville colonne Rue

    France Paris rue de la Paix
    France Paris Avenue des champs Elysée
    France Paris etc
    France Lyon etc
    Angleterre Londres

    Mon Objectif :


    Créer 3 Combobox afin d'affiner la recherche de la colonne rue ...
    Via l'assistance de VS Express 2010 sur les ComboBox, en configurant tout j'obtiens la possibilitée de selectionner la ligne de ma DB que je veux mais j'obtiens des doublons pour France.

    Je souhaiter avoir dans ma Première CB (pour l'exemple précédent) uniquement France (et une seule fois) et angleterre.
    pour la 2ème CB une seule occurence de chaque ville etc ..
    Tout en gardant une relation entre les différentes CBs.

    voilap j'espère être un peu plus claire ^^
    j'avou avoir un peu de mal a m'y retrouver d'ou mon manque de clareté

    merci

  4. #4
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Je comprend mieux ce que tu veux faire.

    Pour faire cela simplement/proprement, il aurait fallu revoir ta base.



    Sur ce système ce serait plus simple de gérer des requêtes SQL dynamiques avec des restrictions sur le choix porté sur les comboboxs.
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    ok merci,

    je vais revoir la base, et je vous tiens au courant.

    Merci

  6. #6
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    N'oublie pas d'indiquer les clés étrangères.

    Quand ce sera fait on verra ensemble comment procéder pour les combos "filtres".
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    c'est ok

  8. #8
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2013
    Messages : 121
    Points : 77
    Points
    77
    Par défaut
    Bonjour
    J'ai fais cela dans mon application
    3 Combobox: 1- Directions, 2- Sous Directions, 3- Services.
    la tienne est : 3 Combobox: 1- Pays, 2- Villes, 3- Rue.

    * tu sélectionne une pays dans le 1 Combocox
    * dans le 2 Combobox tu sélectionne une ville qui appartienne au pays sélectionner.
    * dans le 3 une Rue d'une ville sélectionner du pays choisie.

    c'est le demander.

    écrire les champs de la table qui contient les enregistrements ou bien les trois tables s'ils sont séparés, pour que j'adapte mon code sur tes champs.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    Bonjour JetLibre,

    J'ai Organisé ma table comme me l'a conseillé Ez3kiel:

    Trois table relié par l'ID de chacune des autres.

    Merci pour ton aide

  10. #10
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Je n'ai pas de BDD à portée de main, donc je ne peux pas trop le faire avec toi aujourd'hui gabouille.

    Mais d'ici à ce que je puisse tu peux creuser, il y a plusieurs possibilités pour faire ce que tu veux :
    • Jouer avec la DataSource de la combobox et avec du Binding, ainsi que des DataTables et DataSet, sur lesquelles nous appliquerons des filtres. (Pas simple pour tout le monde, mais propre)
    • Jouer avec les events .SelectedIndexChanged() des combobox, lorsque l'on choisi un pays, l'event est raise, on fait une requête SQL pour charger les villes du pays qui a été séléctionné. (Moins propre car beaucoup d'accès BDD mais simple et rapide à coder)
    • Et si JetLibre n'a utilisé aucune des 2 solutions, la sienne est encore une autre, donc encore plus de choix.


    Désolé de ne pouvoir t'aider plus pour le moment.
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  11. #11
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2013
    Messages : 121
    Points : 77
    Points
    77
    Par défaut
    Bonjour voici mon code pour commencer
    (si quelqu'un a une autre conception plus facile, je l'accepte)

    Je crée un module Module1.bas où je déclare tous les Objets, Variables, ... à utiliser depuis tous mes Forms

    Remarque:
    * pour ma table Directions le clé primaire est composé de 2 chiffres (01-02-...)
    *pour ma table SousDirections le clé primaire est composé de 4 chiffres (0100-0101-0102-0200-0201-0202-...) les 2 premiers représente le clé Directions et les 2 dernier représente le clé SousDirections
    *pour ma table Services le clé primaire est composé de 6 chiffres (010100-010102-010203-020101-020102-020203-...) les 2 premiers représente le clé Directions et les 2 suivant représente le clé SousDirections
    et les 2 dernier représente le clé Services


    pour toi sera plus simple, tu as ID_Pays, ID_Ville, ID_Rue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Imports System.IO
    Imports System.Data
    Imports System.Data.OleDb
    Imports Microsoft.VisualBasic
     
    Module Module1
     Public Cn As New OleDb.OleDbConnection("Provider=MicroSoft.ACE.OleDb.12.0; Data Source =Y:\MaBase.accdb")
        Public Cmd As New OleDb.OleDbCommand
        Public Dr As OleDb.OleDbDataReader
        Public Da As New OleDb.OleDbDataAdapter
        Public Dt As New DataTable
        Public Ds As New DataSet
     
     
    End Module
    Puis je met mon code suivant dans la Form concerner soit dans ma FormLoad pour qu'il sera exécuter automatiquement à l'ouverture de la fenêtre ou bien dans un bouton après un click ( à toi de choisir)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub Bouton1_Click(sender As Object, e As EventArgs) Handles Bouton1.Click
     
    Cn.Open() ' Ouverture de la connexion
            Cmd.CommandType = CommandType.Text
            Cmd.CommandText = "Select * from Directions Order By CodeDirections ASC"
            Da = New OleDb.OleDbDataAdapter(Cmd)
            Cmd.Connection = Cn
            Da.Fill(Ds, "Directions")
            Dt = Ds.Tables("Directions")
            Cn.Close()
            CmbDirections.DisplayMember = "NomDirections"
            CmbDirections.ValueMember = "CodeDirections"
            CmbDirections.DataSource = Ds.Tables("Directions")
            CmbDirections.Refresh()
     End Sub
    Dans le Combo1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     Private Sub CmbDirections_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbDirections.SelectedIndexChanged
            Ds.Clear()
            Cn.Open()
            Cmd.CommandType = CommandType.Text
            Cmd.CommandText = "SELECT * FROM SousDirections WHERE Mid(CodeSousDirections, 1, 2) ='" & Me.CmbDirections.SelectedValue & "'"
            Da = New OleDb.OleDbDataAdapter(Cmd)
            Cmd.Connection = Cn
            Da.Fill(Ds, "SousDirections")
            Dt = Ds.Tables("SousDirections")
            Cn.Close()
            CmbSousDirections.DisplayMember = "NomSousDirections"
            CmbSousDirections.ValueMember = "CodeSousDirections"
            CmbSousDirections.DataSource = Ds.Tables("SousDirections")
            CmbSousDirections.Refresh()
        End Sub
    Dans le Combo2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub CmbSousDirections_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CmbSousDirections.SelectedIndexChanged
            Ds.Clear()
            Cn.Open()
            Cmd.CommandType = CommandType.Text
            Cmd.CommandText = "SELECT CodeServices, NomServices FROM Services WHERE Mid(CodeServices,1,2) ='" & Me.CmbDirections.SelectedValue & "' And Mid(CodeServices, 3, 2) ='" & Mid(Me.CmbSousDirections.SelectedValue, 3, 2) & "'"
            Da = New OleDb.OleDbDataAdapter(Cmd)
            Cmd.Connection = Cn
            Da.Fill(Ds, "Services")
            Dt = Ds.Tables("Services")
            Cn.Close()
            CmbServices.DisplayMember = "NomServices"
            CmbServices.ValueMember = "CodeServices"
            CmbServices.DataSource = Ds.Tables("Services")
            CmbServices.Refresh()
    End Sub
    Essaye ce code et si tu as des erreur signaler les pour les corriger ensembles.

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut Erreur
    Merci JetLibre !

    Je vais essayer ca aujourd'hui,

    Juste une question, il faut remplir la première CB dans le FormLoad ou dans un bouton click et pas dans la Combo associée??

    Bon, En faite pourquoi on ne rempli pas la dernière : principe des évenements ^^

    Ma première CB se charge parfaitement, un problème persiste pour les suivantes que je vais tenter de résoudre.

    Merci encore JetLibre !

    Erreur : J'ai bien tout vérifié mais je ne trouve pas la raison de l'erreur : Quand je met le code dans le formLoad pour remplir la première CB il n'y pas de problème.

    Quand j'ajoute le code de remplissage de la deuxième Combobox, la première CB deviens vide ...

    Et j'ai une erreur sur la ligne da.fill(Ds, "ma_table") : 'L'expection OleDbException n'a pas été gérée par le code utilisateur'

  13. #13
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2013
    Messages : 121
    Points : 77
    Points
    77
    Par défaut
    si ta 2 Combox est vide il faut verifier ta requette

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    Je pense que c'est ok du coté de ma requête :

    "SELECT ID_Ville, Nom_Ville FROM Table_Ville WHERE Table_Ville.ID_Pays ='" & Me.CB_Pays.SelectedValue & "'"

    L'erreur se trouve au niveau du Da.fill :

    {"Type de données incompatible dans l'expression du critère."}

    Voici l'intégralité du code que j'ai mis dans la CB "Pays

    Ds.Clear()
    Cn.Open()
    Cmd.CommandType = CommandType.Text
    Cmd.CommandText = "SELECT ID_Ville, Nom_Ville FROM Table_Ville WHERE Table_Ville.ID_Pays ='" & Me.CB_Pays.SelectedValue & "'"
    Da = New OleDb.OleDbDataAdapter(Cmd)
    Cmd.Connection = Cn
    Da.Fill(Ds, "Table_Ville")
    Dt = Ds.Tables("Table_Ville")
    Cn.Close()
    CB_Ville.DisplayMember = "Nom_Ville"
    CB_Ville.ValueMember = "ID_Ville"
    CB_Ville.DataSource = Ds.Tables("Table_Ville")
    CB_Ville.Refresh()

  15. #15
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT ID_Ville, Nom_Ville FROM Table_Ville WHERE Table_Ville.ID_Pays =" & Me.CB_Pays.SelectedValue
    ?


    Je pensais que ID_PAYS est un integer, donc les ' ne sont pas de mises.


    Le cas échéant, teste la valeur de CB_Pays.SelectedValue() avant la requête pour voir ?
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  16. #16
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par JetLibre Voir le message

    [B][COLOR="Red"]
    Module Module1
    Public Cn As New OleDb.OleDbConnection("Provider=MicroSoft.ACE.OleDb.12.0; Data Source =Y:\MaBase.accdb")
    Public Cmd As New OleDb.OleDbCommand
    Public Dr As OleDb.OleDbDataReader
    Public Da As New OleDb.OleDbDataAdapter
    Public Dt As New DataTable
    Public Ds As New DataSet


    End Module[/code]
    afin d'essayer ton code, j'ai adapter ce qu'il faut adapter à ma BDD mais j'ai un probele avec le "Cn" est ce que je dois juste changer le nom du DataSet ou bien ce "CN" est la chaine de connexion dans mon cas c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Connexion As New SqlConnection("Data Source=(local)\SQLEXPRESS;Initial Catalog=Pays;Integrated Security=SSPI")

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    @JetLibre :

    J'ai Réessayé sans les ' , mon ID_Pays est un Int

    J'ai mis le CB_Ville.selectedValue dans un MessageBox qui me renvoi la valeur de l'ID. donc ce que je dois attendre.

    @sali2801

    le CN est bien ma chaine de connexion

  18. #18
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 36
    Points
    36
    Par défaut
    JetLibre je confirme que votre code marche god bless you

  19. #19
    Membre chevronné Avatar de _Ez3kiel
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 836
    Points : 1 961
    Points
    1 961
    Par défaut
    Citation Envoyé par gabouille Voir le message
    @JetLibre :

    J'ai Réessayé sans les ' , mon ID_Pays est un Int

    J'ai mis le CB_Ville.selectedValue dans un MessageBox qui me renvoi la valeur de l'ID. donc ce que je dois attendre.
    Et la messagebox t'affiche bien la valeur ?
    Et sans les ' c'est bon ?
    Aider les autres, c'est encore la meilleure façon de s'aider soi-même. Martin Gray

    ToDo : Faire une ToDo List

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    La message Box m'affiche bien la valeur, pas de soucis de ce coté la.

    Donc avec les ' :
    J'obtiens l'erreur :Type de données incompatible dans l'expression du critère.

    Sans les ' :
    J'obtiens l'erreur :
    Erreur de syntaxe (opérateur absent) dans l'expression « ID_Pays = ».

    J'ai bien vérifié que les requêtes que je rentre ici fonctionnent bien sous Acces.

    EDIT: J'ai fait un test qui peu peu etre vous aider a diagnostiquer le prob que j'ai :

    dans mon bloc de code de l'évenement CB_Pays j'ai inséré un messageBox juste après la déclaration de ma requête je m'attendais a avoir tout la requête mais en faite il ne prend pas en compte la valeur de : Me.CB_Pays.SelectedValue

    En contre partie, Quand je met un MessageBox en tout début du code du controleur il prend bien en compte Me.CB_Pays.SelectedValue



    EDIT 2 :

    J'ai fais un deuxième Test :

    Au lieu de mettre le code dans la première ComboBox je l'ai mis dans un bouton :
    et j'ai rajouté une variable :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TestBDD.Click
     
            Dim Pays As Integer = CB_Pays.SelectedValue
     
            'MessageBox.Show(CB_Pays.SelectedValue)
            ' MessageBox.Show(Cmd.CommandText)
            Ds.Clear()
            Cn.Open()
            Cmd.CommandType = CommandType.Text
            Cmd.CommandText = "SELECT ID_Ville, Nom_Ville FROM Table_Ville WHERE [ID_Pays] =" & Pays
            ' MessageBox.Show(Cmd.CommandText)
            Da = New OleDb.OleDbDataAdapter(Cmd)
            Cmd.Connection = Cn
            Da.Fill(Ds, "Table_Ville")
            Dt = Ds.Tables("Table_Ville")
            Cn.Close()
            CB_Ville.DisplayMember = "Nom_Ville"
            CB_Ville.ValueMember = "ID_Ville"
            CB_Ville.DataSource = Ds.Tables("Table_Ville")
            CB_Ville.Refresh()
     
        End Sub

    Le résultat est intéressant :

    Je choisi le pays que je souhaite, j'appuye sur le bouton, à ce moment, la première CB se vide, mais la 2eme CB se remplie avec les Villes correspondante au pays que j'ai selectionné.....

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2003] Affichage d'une feuille à partir d'une combobox
    Par JulienLeno dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/08/2011, 12h30
  2. Réponses: 11
    Dernier message: 31/08/2010, 10h49
  3. Réponses: 11
    Dernier message: 15/07/2010, 11h18
  4. Réponses: 4
    Dernier message: 04/05/2009, 13h12
  5. comment alimenter une combobox à partir d'une requete
    Par joe12260 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 19/02/2009, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo