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 :

Associer label à textbox(autosuggest)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut Associer label à textbox(autosuggest)
    Bonjour à tous,

    Dans un de mes forms, j'ai 3 textbox qui, dès la saisie d'un caractère, propose les choix disponible dans une bdd access. Le code est le suivant :

    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
    Private Sub Formlots_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
     
            nomlot.AutoCompleteMode = AutoCompleteMode.Suggest
            nomlot.AutoCompleteSource = AutoCompleteSource.CustomSource
            nomlot1.AutoCompleteMode = AutoCompleteMode.Suggest
            nomlot1.AutoCompleteSource = AutoCompleteSource.CustomSource
            nomlot2.AutoCompleteMode = AutoCompleteMode.Suggest
            nomlot2.AutoCompleteSource = AutoCompleteSource.CustomSource
     
            Call connection7()
     
            Dim Cmd As OleDbCommand
            Dim Dr As OleDbDataReader
            Dim Cn As New OleDbConnection(base1 & base9)
     
            Try
                Cmd = New OleDbCommand("Select Abrev, Libelle from Villes", Cn)
                Cn.Open()
                Dr = Cmd.ExecuteReader
                While Dr.Read
                    nomlot.AutoCompleteCustomSource.Add(Dr.GetString(0))
                    nomlot1.AutoCompleteCustomSource.Add(Dr.GetString(0))
                    nomlot2.AutoCompleteCustomSource.Add(Dr.GetString(0))
                End While
                Dr.Close()
                Cn.Close()
            Catch ex As Exception
                MsgBox(Err.Description)
            End Try
        End Sub
    Dans ma BDD, j'ai une autre colonne intitulée Libelle.
    J'aimerais que lorsque l'utilisateur se promène dans la liste de choix qui apparait dans le textbox, corresponde à côté sous la forme d'un label l'équivalent que j'ai dans ma colonne Libelle.
    Merci pour votre aide

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    un usercontrol
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Hello Pol63,

    Usercontrom ? connais pas ....

    J'ai un peu regardé :certains parlent d'une dll, d'autres de mettre dans le projet, etc ....
    C'est dur à mettre en place car j'ai jamais fait celà ?

  4. #4
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Une solution simple consiste à mettre dans les éléments de la liste AutoCompleteCustomSource Abbrev +":"+Libelle au lieu de simplement "Abbrev" et lors de l'exploitation de la valeur du TextBox, on décompose le texte de la TextBox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nomlot.AutoCompleteCustomSource.Add(Dr.GetString(0) & ":" & Dr.GetString(1))
    ...
    Abbrev= myTextBox.Text.Split(':')[0] 
    Libelle = (myTextBox.Text+":").Split(':')[1]
    Par ailleurs, on peut créer un seul "New List(Of String)" et l'utiliser comme AutoCompleteDataSource pour les 3 TextBox.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Hello,

    J'ai essayé ta suggestion. J'ai juste un soucis avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Abbrev= myTextBox.Text.Split(':')[0]
    En Vbnet çà donne normalement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Abbrev= nomlot.Text.Split(":",0)
    Le soucis est que je dois affecter ce que tu as mis comme abbrev à un textbox d'un autre Form. J'ai essayé ceci pour ne prendre que ce qui est avant les :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Formrecap.textbox1.text = nomlot.Text.Split(":",0)
    Et j'obtiens ceci :
    L'argument qui correspond au paramètre 'separator' passe de 'String' à 'Tableau à 1 dimension(s) de Char'.
    Merci pour ton aide

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Par défaut
    Re,

    Merci pour la suggestion.

    Après de multiples recherches, j'ai compris

    J'ai fais ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim strSplit() As String
    strSplit = Split(nomlot.Text, ":")
    Formrecap.textbox1.Text = strSplit(0)
    J'ai pas réussi à faire + court, voir mettre cela sur une seule ligne directement pour affecter la valeur au textbox1.

    C'est possible ?

Discussions similaires

  1. VBA Word - Calendar associé à une textbox
    Par vbword dans le forum VBA Word
    Réponses: 11
    Dernier message: 02/11/2008, 13h49
  2. associer des textbox à un element d'une combobox
    Par julien10 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/10/2008, 22h32
  3. Associer un textbox à une table (en vue d'une insertion)
    Par supertoms dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/04/2008, 11h49
  4. code SQL associé à une TextBox
    Par ac264 dans le forum IHM
    Réponses: 2
    Dernier message: 01/10/2007, 13h55
  5. [VBA-E] relation label / textbox
    Par comanche dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/04/2007, 23h35

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