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 :

récupérer nom objet déclencheur MouseMove


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut récupérer nom objet déclencheur MouseMove
    Bonjour,
    Malgré de multiples recherches je n'ai pas réussis à trouver la solution:
    Sur un formulaires j'ai plusieurs objets rectangle liés à l'événement MouseMove. J'ai besoin de récupérer le nom du rectangle qui est le déclencheur de cet événement et qui n'est bien sur pas l'objet actif.
    Avez-vous une astuce ?

    Merci d'avance
    Phil

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour et bienvenue chez nous.

    Intéresse-toi à la propriété CodeContextObject :


    D'une manière générale, pour se documenter sur les propriétés d'un formulaire ou d'un état, ou de leurs contrôles :
    - afficher l'objet en mode construction ;
    - cliquer sur la propriété => elle se met en surbrillance ;
    - enfoncer la touche <F1>
    => l'aide Access s'ouvre à la bonne page.
    De même dans le code, placer le curseur de la souris et enfoncer F1.
    On peut aussi :
    • ouvrir l'aide <F1>, choisir l'onglet « Aide intuitive » et suivre les instructions ;
    • ouvrir la fenêtre d'exécution (<Ctrl> + G), saisir un mot-clé (par ex. : CodeContextObject), y placer le curseur de la souris et enfoncer F1.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Et bien merci beaucoup pour cette rapide réponse.
    Je vais effectuer mes recherches dans ce sens.

    Phil

  4. #4
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bon... c'est pas gagné encore car je récupère le nom du formulaire appelant avec CodeContextObject et pas du rectangle. Mais je continue à creuser.

    Cours Forest... cours

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Donne un peu plus de détails, par exemple une capture d'écran de ton formulaire pour que l'on comprenne mieux ce dont il s'agit.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Oui, je comprend c'est pas clair.
    Sur mon formulaire il y a des boutons (ca ok, je gère)
    Il y a aussi plusieurs rectangles de couleur représentant des zones (une vingtaine). Je désire afficher une photo lors du passage de la souris sur ces rectangles. J'ai donc codé l'évènement 'On Mouse Move' de chaque rectangle et pour que ce soit dynamique, la photo est liée au nom du carré:
    Exemple:
    Nom du carré "PH_R01_P004" doit afficher la photo Type "R" , rang "01", place "004"

    Donc
    PAR_Type = Mid("Nom du Carré".Name, 4, 1)
    PAR_Rang = Mid("Nom du Carré".Name, 5, 2)
    PAR_Place = Mid("Nom du Carré".Name, 9, 3)

    DoCmd.OpenForm "Geographie_Photo", acNormal, , "[EMP_Type]= '" & [PAR_Type] & "' and [EMP_Rang]= '" & [PAR_Rang] & "' and [EMP_Place]= '" & [PAR_Place] & "'", , acDialog

    Mais j'ai besoin de récupérer le nom du carré à l'origine de la fonction .
    Suis-je un peu plus clair ?

    Merci pour ton support

  7. #7
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Pas évident, mais c'est sans doute possible avec les API.

    Regarde ici : https://support.microsoft.com/fr-be/kb/152969

    comment récupérer la position du curseur.

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Peut-être plus simple.


    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
    ption Compare Database
    Option Explicit
     
     
     
    Private Sub Détail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
      Me.txtOuSuisje = "Rien"
    End Sub
     
    Private Sub RecBleu_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
          Me.txtOuSuisje = "RecBleu"
    End Sub
     
     
    Private Sub RecRouge_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
          Me.txtOuSuisje = "RecRouge"
    End Sub
    Fichiers attachés Fichiers attachés

  9. #9
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Super ! Merci Claude.
    Tu as fait une grande partie du boulot et tu m'as donné une autre idée. Car je tiens à ne pas 'hardcoder' le nom des zones qui peuvent changer dans la vie de la database. Je vais donc passer par une table intermédiaire en utilisant ton code.

    Merci encore.

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,

    Je vais donc passer par une table intermédiaire
    Pour quoi faire ?

  11. #11
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Et bien en fait les noms des carrés sont liés à des valeurs d'une table: Carré PH_R01_P010 correspond à un champ de type 'R' donc Rangée 01 et Place 010. Mais cela peut changer et devenir PH_R02_P056 par exemple. Je vais donc nommer mes carrés 1.2.3 ...55 etc et je vais les associés dans une table à R01_P001, R01_P002...etc.
    Dans le code de chaque carré, il suffira d'aller chercher le champ correspondant et d'afficher la photo liée à ce champ sur Mouse Move.

    Voilà

  12. #12
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut


    Bonne continuation.

  13. #13
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Hum hum...
    Désolé de revenir sur cette partie de code. Ce que tu m'as donné ne fonctionne pas si on veut afficher une photo dans un formulaire séparé, car le formulaire appelé prend la main et l'évènement Mouse Move n'est plus détecté sur le formulaire appelant permettant ainsi de fermer le formulaire appelé.
    Je m'explique il faudrait que:
    - sur Mouse Move du carré rouge ==> affichage d'une photo X dans leformulaire FormX par DoCmd.OpenForm
    - sur Mouse Move du carré background ==> fermeture du formukaire FormX par DoCmd.Close
    - sur Mouse Move du carré bleu ==> affichage d'une photo Y dans leformulaire FormX par DoCmd.OpenForm
    - sur Mouse Move du carré background ==> fermeture du formukaire FormX par DoCmd.Close
    Etc...

    Donc, comment peut-on laisser le focus ou la main sur un formulaire appelant ?

    Merci

  14. #14
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 281 907
    Points
    281 907
    Par défaut
    Bonjour,


    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
    Option Compare Database
    Option Explicit
     
     
     
    Private Sub Détail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
         Me.txtOuSuisje = "Rien"
         If CurrentProject.AllForms("Formulaire2").IsLoaded Then Forms!Formulaire2!Image.Picture = ""
     
    End Sub
     
    Private Sub RecBleu_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
         Me.txtOuSuisje = "RecBleu"
         If CurrentProject.AllForms("Formulaire2").IsLoaded Then Forms!Formulaire2!Image.Picture = CurrentProject.Path & "\images\bleu.jpg"
    End Sub
     
     
    Private Sub RecRouge_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
          Me.txtOuSuisje = "RecRouge"
          If CurrentProject.AllForms("Formulaire2").IsLoaded Then Forms!Formulaire2!Image.Picture = CurrentProject.Path & "\images\rouge.jpg"
    End Sub

    Décompresse le zip dans un même dossier
    Fichiers attachés Fichiers attachés

  15. #15
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bon et bien... Super une fois encore. Merci Claude. Je vois que tu es un vrai prédateur pour Access ;-)
    C'est une bonne idée de ne pas fermer le formulaire photo et de juste changer la photo.

    Merci encore.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/11/2008, 10h53
  2. Réponses: 8
    Dernier message: 20/06/2008, 14h04
  3. [servlet][bean]comment récupérer l'objet request
    Par otminou dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 27/09/2004, 14h40
  4. Réponses: 4
    Dernier message: 15/09/2004, 16h52

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