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 :

Nouveau Pb avec ComboBox [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 71

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 304
    Par défaut Nouveau Pb avec ComboBox
    Bonjour
    Pour faire une recherche par réalisateur j'ai créé un form dont voici le code
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Imports System.Data.OleDb
    Imports Microsoft.VisualBasic
    Public Class InterroRéalisateur
     
        Private Sub InterroRéalisateur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim conn_string As String
            Dim req_str As String
            Dim dttable As New DataTable
            conn_string = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Access\DvdData.mdb"
            req_str = "Select Réalisateur from Vidéo Group by Réalisateur"
     
            Using conn As New OleDb.OleDbConnection(conn_string)
                Dim cmd As New OleDb.OleDbCommand(req_str, conn)
     
                conn.Open()
     
                Dim dt_reader As OleDb.OleDbDataReader = cmd.ExecuteReader
                dttable.Load(dt_reader)
     
     
                With ComboBoxRéalisateur
                    .DataSource = dttable
                    .DisplayMember = "Réalisateur"
                    .ValueMember = "Réalisateur"
                End With
                TextBoxRéalisateur.Text = ComboBoxRéalisateur.SelectedValue.ToString
                dt_reader.Close()
                conn.Close()
            End Using
        End Sub
     
        Private Sub BtnFermer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFermer.Click
            Close()
        End Sub
     
        Private Sub ComboBoxRéalisateur_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBoxRéalisateur.SelectionChangeCommitted
            TextBoxRéalisateur.Text = ComboBoxRéalisateur.SelectedValue.ToString
            RésultatRéalisateur.Show()
        End Sub
    End Class
    Le problème est que quand je choisis dans la liste un réalisateur avec un prénom composé (par exemple Jean-Pierre Jeunet) il prend n'importe lequel commençant par Jean
    Si je choisis un réalisateur qui s'appelle Jean dupont il fait la même chose
    Comment résoudre ce problème ?
    Merci de votre aide

  2. #2
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Bonjour

    essaie
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBoxRéalisateur.Text = ComboBoxRéalisateur.SelectedValue.ToString
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBoxRéalisateur.Text = ComboBoxRéalisateur.SelectedItem.ToString

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 71

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 304
    Par défaut
    Bonjour
    Merci pour ta réponse mais si je fais ça dans mon champ TextBoxRéalisateur il me met systématiquement "System.Data.DataRowView" !!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    A priori tu utilises TextBoxRéalisateur.Text pour l'utiliser dans la form RésultatRéalisateur

    Que fait le code de celle-ci pour afficher les données du réalisateur ? Ce que tu décris, c'est comme si tu avais un Like.

    En complément, tout les caractères accentuées sont à proscrire.

    Philippe

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 71

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2004
    Messages : 304
    Par défaut
    Bonjour
    C'est dès le formulaire de choix qui contient la combobox que ça ne va pas
    Je vois bien qu'au choix d'un prénom composé (Jean-Paul) le champ ne correspond pas à ce que j'ai sélectionné dans la liste.
    Et du moment que je choisis un réalisateur dont le prénom est Jean (par exemple Jean Machin) le champ texte se remplit avec n'importe quel réalisateur qui contient Jean dans son prénom (Composé ou non)

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Bonjour,
    Vous pouvez remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBoxRéalisateur.Text = ComboBoxRéalisateur.SelectedValue.ToString
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBoxRéalisateur.DataBindings.Add("Text",ComboBoxRéalisateur,"SelectedValue")
    Par contre je changerais la requête sur la table Vidéos par une requête qui renvoie Réalisateur Distinct pour ne pas me retrouver avec 1000 Jean- ... ou Pierre s'il ont fait 1000 films...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [c#]Nouveau probleme avec dataset et combobox
    Par misa dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/05/2006, 10h37
  2. [vb.net]Boite de dialogue avec combobox
    Par le Daoud dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/12/2005, 12h53
  3. [VB.NET] Probleme avec ComboBox
    Par Aspic dans le forum VB.NET
    Réponses: 5
    Dernier message: 20/11/2005, 12h37
  4. [CSS] Nouveau probleme avec *
    Par m312 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 12/08/2005, 20h10
  5. [VB6] [Interface] Grille avec combobox
    Par khany dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 15/01/2003, 09h55

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