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 :

Différencier clic et double clic


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 86
    Points : 77
    Points
    77
    Par défaut Différencier clic et double clic
    Bonjour à tous,

    J'aimerais utiliser à la fois la propriété "onclick" et la propriété "ondblclick" d'un contrôle. Or quand je double clique, access lance d'abord la fonction sur la propriété onclick, puis la fonction sur la propriété ondblclick.

    J'ai essayé d'utiliser des variables globales pour différencier ces deux éléments, mais ca ne marche pas, je pense que je devrais utiliser des timers mais j'ai du mal à voir comment faire.

    Quelqu'un a t il déja été confronté à ce problème?

    Merci d'avance,

    GL

    PS:

    Je précise que j'ai essayé d'adapter ce code...

    http://support.microsoft.com/?scid=k...9865&x=11&y=16

    Mais sans aucun succès, il m'est renvoyé des erreurs "impossible d'accéder au kernell", et access ne comprend pas le "timer1.interval"...

  2. #2
    Membre expérimenté
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Points : 1 598
    Points
    1 598
    Par défaut
    Hello
    Pour faire la différence entre les deux je déplace le code de l'évènement click du controle à l'évènement doubleclick du formulaire ce qui me donne un fonctionnement différent pour le double click dans le contrôle ou dans le sélecteur d'enregistrement
    Effectivement, je ne suis pas arrivé à ne pas exécuter l'évènement click en cas de doubleclick

  3. #3
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 86
    Points : 77
    Points
    77
    Par défaut
    D'accord, sauf que la fonction appelée dans mon formulaire dépend du contrôle...

    Par exemple si je clique sur le controle_3, j'appelle fonction(3). De même pour le double clic, ou j'appelle fonction2(3).

    J'en arrive à penser que c'est insoluble avec des techniques simples...

  4. #4
    Membre expérimenté
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Points : 1 598
    Points
    1 598
    Par défaut
    Hello
    l'évènement doubleclick du formulaire permet quand même de faire référence au contrôle_3 et à sa valeur pour l'enregistrement courant
    Sinon, j'utilise des petits boutons de commande (avec un + comme "caption") situés juste à coté de la zone de texte

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 106
    Points : 135
    Points
    135
    Par défaut
    Hello !

    Il y a très longtemps, j'avais fait une bidouille pour gérer ce cas. L'idée est la suivante : sur un simple clic, je fixe une variable à Vrai. Sur double-clic, je fixe cette même variable à faux.
    Ensuite, sur le simple clic, je ne mets aucun code, par contre sur le double clic j'effectue mon code normalement.
    Ensuite je paramètre l'évènement Timer pour qu'il se déclenche toutes les secondes. Sur cette évenèmement, je teste ma variable. Si elle est à Vrai, j'effectue alors le code prévu pour le simple clic (et je remets ma variable à Faux).
    Ainsi, si un utilisateur fait un double clic, le programme met la variable à Vrai mais la remet à Faux instantanément et le code du simple clic sur le Timer ne s'exécute pas. S'il ne fait qu'un simple clic, le code s'exécute avec un léger décalage dans le temps (on ne peut pas tout avoir)

    Bon, évidemment, je n'avais qu'un seul bouton à gérer et c'était plus simple que ton cas, mais c'est une piste à explorer, je pense.

    Cordialement,

  6. #6
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 86
    Points : 77
    Points
    77
    Par défaut
    En effet... En y réfléchissant, je pense que dans mon cas précis la solution consiste à passer par une variable globale mais non booléenne, et un timer.

    Le timer déclenche une action toutes les secondes.

    Quand l'utilisateur clique sur un controle, il appelle une fonction qui inscrit le nom du controle (ou des arguments liés à ce contrôle) dans la variable globale.

    Au double clic access exécute la fonction liée à ce double clic.
    A la fin de cette fonction on remet la variable globale à 0.

    Tous les 1 secondes (par exemple), access regarde la valeur de la variable globale. Si elle est différente de 0, il exécute le code avec en paramètre des arguments liés au contrôle sur lequel l'utilisateur a cliqué. A la fin du script, la variable globale est remise à 0.

    Je vais tenter cela... Cela devrait marcher j'espère dans la majorité des cas (bien qu'on ait peut etre des cas particuliers si l'utilisateur double clic juste au moment du timer).

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

Discussions similaires

  1. [WD18] Différencier le simple clic du double clic
    Par ynsmtkl dans le forum WinDev
    Réponses: 8
    Dernier message: 01/02/2015, 11h52
  2. Trayicon : Clic et double clic
    Par Seth77 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/12/2007, 18h37
  3. clic et double clic sur un bouton
    Par alana dans le forum C++
    Réponses: 2
    Dernier message: 23/08/2007, 16h20
  4. Réponses: 2
    Dernier message: 26/11/2006, 21h10
  5. Evènements Clic et Double Clic dans un contrôle
    Par jeportal dans le forum Access
    Réponses: 16
    Dernier message: 10/01/2006, 11h37

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