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 :

BD ne trouve pas le champ "MyLabel" au quel il est fait référence dans votre expression


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de lakhdar16
    Homme Profil pro
    West POS Senior Representative
    Inscrit en
    Avril 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Algérie

    Informations professionnelles :
    Activité : West POS Senior Representative
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 170
    Points : 127
    Points
    127
    Par défaut BD ne trouve pas le champ "MyLabel" au quel il est fait référence dans votre expression
    Bonjour à tous,

    Voila j'ai une fonction qui change l'affichage de la souris sur déplacement, je voulais aussi ajouter le changement de Backcolor et Forecolor de l'objet Label, ci-dessous la fonction:

    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
    Private Const IDC_HAND = 32649
        Private Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
        Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long
     
     
    Function ChangeMouseToHandBackColor(ByVal i As Long)
        Dim hCur As Long
     
    Dim MyLabel As String
     
           hCur = LoadCursor(0, IDC_HAND)
     
            If (hCur > 0) Then
            SetCursor hCur
            ForeColor = vbRed
            For i = 34 To 39
            MyLabel = "Étiquette" & i
            With Me![MyLabel]
            .ForeColor = vbBlack
            .BackColor = RGB(240, 213, 48)
            End With
            Next i
        End If
    End Function
    sur souris déplacé de l'Etiquette34 jusqu'au Etiquette39 j'ai fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Étiquette34_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ChangeMouseToHandBackColor 34
    End Sub
    mais je reçois l'erreur 2465 champ "MyLabel" non trouvé..

    s'il vous plait quelqu'un peut m'aider afin que le passage de la souris sur l'étiquette change en main et aussi change le backcolor et le forecolor.

    merci d'avance.

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    Essaie de remplacer
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            With Me.Controls(MyLabel)
    A+

  3. #3
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    Enlève le "É" .... et met "E" de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    If (hCur > 0) Then
            SetCursor hCur
            ForeColor = vbRed
            For i = 34 To 39
            MyLabel = "Etiquette" & i 'ICI ....  OU "[Étiquette]"
            With Me![MyLabel]
            .ForeColor = vbBlack
            .BackColor = RGB(240, 213, 48)
            End With
            Next i
    et ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Étiquette34_MouseMove(Button A
    Tupeut allez lire un peu ici http://argyronet.developpez.com/office/vba/convention/

  4. #4
    Membre habitué Avatar de lakhdar16
    Homme Profil pro
    West POS Senior Representative
    Inscrit en
    Avril 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Algérie

    Informations professionnelles :
    Activité : West POS Senior Representative
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 170
    Points : 127
    Points
    127
    Par défaut
    Bonjour,

    Merci robyseb et LedZeppII pour vos réponses, j'ai essayé les deux méthodes, la méthode de LedZeppII marche nickel mais j'ai un autre souci, quand la souris déplace sur le contrôle le backcolor et le forecolore change ainsi la souris qui se transforme en main et quand je sors la souris se change par défaut mais l'étiquette garde la nouvelle couleur du fond et de la police et ne revient pas à la couleur par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .Forcolore = VbWhite
    .BackColor = RGB (0,0,0)
    se que je veux c'est quand je me déplace sur le contrôle la souris et les couleurs change mais quand je sors la souris et les couleur prennent les valeurs par défaut.

    voici le code:
    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
     
    Private Const IDC_HAND = 32649
        Private Declare Function LoadCursor Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long
        Private Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long
     
     
    Function ChangeMouseToHandBackColor(ByVal i As Long)
        Dim hCur As Long
     
    Dim MyLabel As String
     
           hCur = LoadCursor(0, IDC_HAND)
          MyLabel = "Étiquette" & i
     
            Me.Controls(MyLabel).ForeColor = vbWhite
            Me.Controls(MyLabel).BackColor = RGB(0, 0, 0)
     
            If (hCur > 0) Then
     
            SetCursor hCur
            ForeColor = vbRed
     
            Me.Controls(MyLabel).ForeColor = vbBlack
            Me.Controls(MyLabel).BackColor = RGB(240, 213, 48)
     
        End If
    End Function
    merci pour votre aide.

  5. #5
    Membre averti Avatar de robyseb
    Homme Profil pro
    Programmeur-Analyste
    Inscrit en
    Juillet 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur-Analyste
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 305
    Points : 423
    Points
    423
    Par défaut
    il suffit de rétablir la couleur d'origine en gérant l'événement Détail_MouseMove() du formulaire donc tu met le code qui ramène ta couleur originale.

  6. #6
    Membre habitué Avatar de lakhdar16
    Homme Profil pro
    West POS Senior Representative
    Inscrit en
    Avril 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Algérie

    Informations professionnelles :
    Activité : West POS Senior Representative
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 170
    Points : 127
    Points
    127
    Par défaut
    Merci robyseb pour votre réponse, mais est-il possible d'intégrer cette tache dans la fonction?

    merci.

  7. #7
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Tu peux garder le principe de ton premier code:
    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
    Function ChangeMouseToHandBackColor(ByVal idx As Long)
    Dim hCur As Long
    Dim MyLabel As String
    Dim i As Long
     
        For i = 34 To 39
            MyLabel = "Étiquette" & i
            With Me.Controls(MyLabel)
                If i = idx Then
                   ' Pour l'étiquette ayant appelé ChangeMouseToHandBackColor
                   .ForeColor = vbRed
                   .BackColor = RGB(240, 213, 48)
                   hCur = LoadCursor(0, IDC_HAND)
                   If (hCur > 0) Then SetCursor hCur
                Else
                   ' Pour les autres étiquettes
                   .ForeColor = vbBlack
                   .BackColor = vbWhite
                End If
            End With
        Next i
     
    End Function
    Dans "Sur souris déplacée" de la zone Détail :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Détail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    ChangeMouseToHandBackColor 0
    End Sub
    A+

  8. #8
    Membre habitué Avatar de lakhdar16
    Homme Profil pro
    West POS Senior Representative
    Inscrit en
    Avril 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Algérie

    Informations professionnelles :
    Activité : West POS Senior Representative
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 170
    Points : 127
    Points
    127
    Par défaut
    bonsoir;

    je vous remercie beaucoup pour votre réponse ça marche nickel

    encore merci.

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

Discussions similaires

  1. erreur 2465 ne trouve pas le champ recordset
    Par bellemeche dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/10/2010, 13h18
  2. [MissingFieldException] Ne trouve pas le champ <jnlp>
    Par Julien Bodin dans le forum JWS
    Réponses: 2
    Dernier message: 07/01/2010, 16h33
  3. [AC-2007] Count dans vba, ne trouve pas le champ
    Par Arkezis dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/10/2009, 09h43

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