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 6 et antérieur Discussion :

fonctionnalité de correspondance à un textbox


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 32
    Points
    32
    Par défaut fonctionnalité de correspondance à un textbox
    Bonjour à tous,
    Dans cmd_recherche, j'aimerais bien savoir le code qui permet à ajouter la fonctionnalité de correspondance à un textbox lié à une base de donnée access.
    c-à-d, si je chercher un nom, je veux quand je commence à saisir les premiers caractères , on me propose les noms qui commencent par ces caractères . (c'est la fonctionnalité qu'on trouve dans excel)
    Voici le code dont je me sert dans cmd_recherche

    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
    On Error Resume Next
         If Text1.Text = "" Then
           MsgBox "Veuiller saisir un nom à rechercher", vbInformation + _
                         vbMsgBoxRtlReading + vbOKOnly, "Attention"
    End If
     
    If Text1.Text <> "" Then
    If IsNumeric(Text1) = False Then
        Set RS = New ADODB.Recordset
    RS.Open "select * from patient where nom like '%" & Text1.Text & "%' And prenom like '%" & Text2.Text & "%'", DB, adOpenStatic, adLockOptimistic
           If RS.RecordCount > 0 Then
     
     Text1.Text = RS!Nom
     Text2.Text = RS!Prenom
     Text3.Text = RS!age
     Text4.Text = RS!date
     Text5.Text = RS!diagnostic
     Text6.Text = RS!plan
     Text7.Text = RS!obs
     Else
       MsgBox "Aucun patient avec ce nom", vbInformation + _
                         vbMsgBoxRtlReading + vbOKOnly, "Attention"
        End If
        Text1.SetFocus
    End If
    End If
    merci à tous

  2. #2
    Membre habitué Avatar de BERRACHED SAID
    Inscrit en
    Janvier 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Janvier 2009
    Messages : 192
    Points : 125
    Points
    125
    Par défaut
    Salut zidane2

    le textbox dispose de plusieurs événements tache de place le code dans l'événement adéquate pour le résultat de la recherche tache aussi de remplacé les textbox par un listbox par exemple comme ça il pourra te proposé plusieurs items qui commence par la lettre recherché sache aussi que le textbox est statique sauf si tu lui ajoute un ScrollBar il ne pourra t'afficher qu'un seul item.

    Bonne journée

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 32
    Points
    32
    Par défaut
    Merci M.BERRACHED de ta réponse
    Donc si je comprends bien ce que je cherche n'est pas possible avec le textbox.

  4. #4
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 71
    Points
    71
    Par défaut Fonctionnalité de correspondance à un textbox
    Bonjour,

    La réponse à ta question est : oui, cela est possible.
    Je ne sais si tu as trouvé ce que tu recherches pour ton textbox, mais ce soir je posterais un code qui devrait répondre à ta question.

    A+
    FaroukVazaha

  5. #5
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut
    Salut, il y a plusieurs elements a prendre en compte,
    premierement la proposition d'utiliser une liste (combo) est pertinante.
    et ensuite, savoir où on place le code de recherche, comme indiqué il y a plusieurs types d'evenements dans un controle (qu'il soit textbox, combo ou autre) et en particulier il en existe qui sont appellés lors de la pression de touche ou lors de modification.
    par exemple KeyPress est appellé au moment ou tu appuye sur une touche (que ca soit un caractere comme la lettre "a" ou bien la touche "Entrée").
    Le mieux est de faire un test, avec une appli vide et de regarder dans quelle cas sont appellé chacuns des evenements, c'est pas bien dur, il y a les evenements _Change(), _KeyDown(), _KeyPress(), _KeyUp() c'est important que tu comprennes comment ils réagissent. (et a quel moment : avant ou apres modification de la proprieté Text/Value)

    Ensuite, quand tu a trouvé la bonne fonction a utiliser (le bon evenement) il suffit de remplir la liste a ce moment là...

    astuce : au fait, dans certain cas tu peux modifier dans la fonction la valeur de la touche (utile pour annuler l'effet d'une touche) au fait la touche ENTREE=13
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If KeyCode = 13 Then Call ma_fonction_magique : KeyCode = 0 ' ici 0 annule l'effet
    sinon, pendant que j'y suis (mais ca ne devrait pas te service) touche TAB c'est 9, et ESC c'est 27.

    Au fait, les fonction chr() et asc() permettent de convertir de l'ascii vers du texte, et vis-versa. En fonction de ce que tu va choisir, il se peut que tu soit amené a convertir un KeyCode ou un KeyAscii en un caractere. (c'est pas obligé, mais il est possible que tu passe par une telle solution)

    Pense bien a tout gerer (par exemple le _Change() qui va arriver quand tu aura cliqué dans la liste ne doit pas relancer une recherche...)
    C'est tres interessant (pas si difficile) et tres instructif.

Discussions similaires

  1. [XL-2007] Remplir TextBox avec une valeur correspondant a une listbox
    Par brunounours dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/05/2012, 11h59
  2. Réponses: 3
    Dernier message: 26/04/2012, 16h41
  3. Correspondance Combobox / Textbox
    Par Cdandelion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/03/2012, 12h22
  4. Réponses: 0
    Dernier message: 13/07/2011, 20h57
  5. Réponses: 7
    Dernier message: 11/05/2006, 09h30

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