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

Access Discussion :

faire une action lors de frappes clavier


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 16
    Points
    16
    Par défaut faire une action lors de frappes clavier
    Bonjour, je me présente, novice en Access

    je voudrais faire une petite application de facturation pour ma femme qui fait du repassage.

    je veux donc que sur la page d'accueil je puisse rechercher un client, j'ai donc fait un champ txt qui me permet de saisir tout ou partie de nom du client et dessous, une liste des résultats correspondants qui se mettent à jour a mesure que l'on entre le nom.

    j'ai bien réussi à le faire en mettant un bouton avec l'action 'DoCmd.Requery "liste_client"', par contre j'ai voulu rafraichir la liste chaque fois que l'on tappe une touche mais pas moyen vous savez pkoi?

    j'ai testé en faisant un setfocus sur la liste, faire le rafraichissement et revenir sur mon champ de texte et la ca marche mais il me selectionne tout le texte du champ en revenant donc c'est un peu galère.

    Si vous avez des solutions merci d'avance
    A+

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Bonjour et bienvenue sur les forums.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub cmboAuteur_KeyUp(KeyCode As Integer, Shift As Integer)
    code à exécuter
    End Sub
    Devrait t'aider un peu plus.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    j'ai bien essayé

    mais ça ne marche pas non plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub recherche_nom_KeyUp(KeyCode As Integer, Shift As Integer)
    DoCmd.Requery "liste_client"
    End Sub
    alors qu'avec un bouton ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Commande3_Click()
    DoCmd.Requery "liste_client"
    End Sub
    si tuas une autre idée ou si j'ai mal saisi le truc merci de préciser a+

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Bjr,

    utilisez l'évenement "sur changement"
    et la propriété "text" de la zone de texte pour lire le texte en cours de saisie
    (pensez aux balises de code (#), c'est plus lisible)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub recherche_nom_Change()
    Me.liste_client.RowSource = "select ClientID from TableDesClients where ClientID like '" & recherche_nom.Text & "*'"
    Me.liste_client.requery
    End Sub

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Je pense que pour avoir un résultat, il faut concaténer les données du combo avec un wild card.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    stval = moncombo.value & "*"
    et dans la requête un like pour prendre en charge le *
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    super Arkham46 !
    ça fonctionne nickel !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub recherche_nom_Change()
    Me.liste_client.RowSource = "SELECT * FROM t_client WHERE (((t_client.nom) Like '*" & recherche_nom.Text & "*'))"
    Me.liste_client.Requery
    End Sub
    par contre j'ai pas tout compris ton truc Heureux-oli mais merci tout de même

    comme mentionné plus haut je débute
    mais je reviendrais trés bientôt pour d'autrees problèmes j'en suis certain
    messieurs je vous tire mon chapeau

    c'est ma femme qui va être contente si j'arrive a lui faire son truc
    A++++++++

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Si j'avais su que c'était pour ta femme, je n'aurais pas mouillé ma chemise
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    Bonjour, je me permets de reouvrir la question, car dans mon cas, je dois appuyer sur Entrée après avoir rempli un TextBox et déclencher une procédure utilisant la valeur du TextBox. Mais apparemment, lorsque je détecte la frappe d'une touche avec KeyDown, le contenu du TextBox est null (malgré un contenu existant bien).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub TexteBox_KeyDown(KeyCode As Integer, Shift As Integer)
        If KeyCode = vbKeyReturn Then
            Procédure(Me.TexteBox.Value)
        End If
    End Sub
    Ceci me renvoie une erreur car Me.TexteBox.Value est null. Y a t il un moyen de faire autrement?
    Grizzly, bientôt un Légende Brutale...

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2003
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 58
    Points : 41
    Points
    41
    Par défaut
    C'est pas faux. Merci bien
    Grizzly, bientôt un Légende Brutale...

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

Discussions similaires

  1. Faire une action en attente d'une touche
    Par utoria dans le forum Assembleur
    Réponses: 1
    Dernier message: 15/03/2007, 11h38
  2. comment faire une action sur JPanel
    Par L4BiN dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/01/2007, 12h13
  3. Faire une action sur Control + C
    Par bluecurve dans le forum Langage
    Réponses: 1
    Dernier message: 20/07/2006, 00h19
  4. Réponses: 2
    Dernier message: 24/11/2005, 17h33
  5. Comment faire une action, par rapport au temps
    Par Happy dans le forum OpenGL
    Réponses: 5
    Dernier message: 12/11/2005, 13h27

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