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

VBA Access Discussion :

conserver le focus lors d'une recherche dynamique [AC-2013]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Points : 6
    Points
    6
    Par défaut conserver le focus lors d'une recherche dynamique
    salut à tous,
    j'ai implémenter un code de recherche dynamique dans un textbox sur access;
    le code fonctionne normalement mais il se pose un problème:
    le textbox en question perd le focus après la saisi d'une lettre. en fait j'aimerai implémenter la recherche dynamique avec la possibilité de saisir plusieurs caractères
    voilà le code que j'utilise présentement:

    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
    Private Sub Form_Open(Cancel As Integer)
        With Form_formCompetences
            .Filter = ""
            .FilterOn = False
            Texte17.SetFocus
        End With
    End Sub
     
    Private Sub Texte17_AfterUpdate() 'Nom de la zone de texte de saisie
        Dim n As Integer
        n = 5
        Do While i < n
            filterSForm (Me.Texte17.Value)
            i = i + 1
        Loop
     
    End Sub
     
    Private Sub Texte17_Click()
     
    End Sub
     
    Private Sub Texte17_KeyUp(keyCode As Integer, shift As Integer)
        Dim strTexte As String
        strTexte = Me.Texte17.Text
        filterSForm (strTexte)
    End Sub
     
    Private Sub filterSForm(strText)
     
            With Form_formCompetences
                .Filter = ""
                .FilterOn = False
                .Filter = "NomEmploye like ""*" & strText & "*"" OR PrenomEmploye like ""*" & strText & "*"" OR Competence like ""*" & strText & "*"""
                .FilterOn = True
            End With
     
    End Sub

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Essaye en remplaçant l'événement KeyUp par Sur Changement (OnChange). Il est activé à chaque modification du champ de saisie.

    KeyUp sert plus à gérer et intercepter les touches indésirables.

    Sinon j'essaierai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    With Form_formCompetences
           .Filter = ""
           .FilterOn = False
           .Filter = "NomEmploye like ""*" & strText & "*"" OR PrenomEmploye like ""*" & strText & "*"" OR Competence like ""*" & strText & "*"""
           .FilterOn = True
    End With
     
    me.Texte17.setfocus
    me.Texte17.SelStart = len(me.Texte17.text) 'Envoi le curseur en fin de texte.
    Enfin un solution serait de déplacer l'affichage des résultats dans un sous-formulaire.
    Ton formulaire principal ne contient alors plus que les critères de sélection.
    Accessoirement cela simplifierai un peu la programmation.

    Et, en passant je t'invite à changer les noms par défaut de Access par des noms avec un sens. Ici Texte17 ne dit pas grand chose et je suggérai quelque chose comme [CritereNomPrenom] ou [Filtre_Recerche_Nom_Prenom]. Cela rend ton code plus facile à comprendre et donc à maintenir. C'est vrai pour les textes, les boutons et autres contrôles.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    merci marot_r, sa marche
    merci pour l'aide que vous nous apportez au quotidien sur ce forum
    tchao

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    merci marot_r, ça marche
    Pour les futurs lecteurs, peux-tu dire quelle solution tu as utilisée ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2015
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    bonjour à tous,
    en fait je juste suivi les conseil que tu m'as donné en procédant comme suit:
    j'ai changé l'évènement KeyUp par Sur Changement (Change) dans mon code publié plus haut.
    de plus j'y ai ajouter les lignes de code suivantes que vous m'avez suggéré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.txtrechConge.SetFocus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.txtrechConge.SelStart = Len(Me.txtrechConge.Text) 'Envoi le curseur en fin de texte.
    pour le focus et le positionnement du curseur lors de la saisie.
    merci

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 04/08/2006, 14h14
  2. Cheval de Troie lors d'une recherche google
    Par SLE dans le forum Sécurité
    Réponses: 8
    Dernier message: 14/03/2006, 17h41
  3. Probleme lors d'une recherche sur les forums
    Par JUSTIN Loïc dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 8
    Dernier message: 27/07/2005, 12h22
  4. [LG]Runtime Error lors d'une recherche dans un fichier
    Par Fraynor dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2005, 22h51
  5. Enlever la surbrillance lors d'une recherche avec vi
    Par sekiryou dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 04/03/2004, 13h55

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