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

IHM Discussion :

Surbrillance dans formulaire Continu


Sujet :

IHM

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 241
    Points : 145
    Points
    145
    Par défaut Surbrillance dans formulaire Continu
    Bonjour,
    Quelqu'un a t-il essayé cette procédure créée par Maxence Hubiche ?
    http://access.developpez.com/faq/?pa...#SurbrLignForm
    Après avoir tout bien saisi, quand je change d'enregistrement dans mon formulaire en utilisant les sélecteurs, le champ 'active' se met bien à jour dans la table, dans la requête sélection qui est la source de mon formulaire mais l'animation ne suit pas à l'écran. L'enregistrement actif ne change pas de couleur dans mon formulaire.
    Par contre si je ferme le formulaire et que je l'ouvre, l'enregistrement actif est bien en surbrillance pointant le dernier enregistrement avant fermeture.
    J'ai essaye un Me.Repaint sur l'évènement Current pour forcer le formulaire à se redessiner mais rien n'y fait.
    Si quelqu'un a essayé cette procédure, je serais curieux de savoir si elle fonctionne ailleurs ...
    Merci.

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Le code de Maxence, tu l'as mis où ?? sur le formulaire ou le sous formulaire ?

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 241
    Points : 145
    Points
    145
    Par défaut Dans le formulaire, évènement On Current
    ... Je n'ai pas de sous-formulaire. J'ai simplifié pour comprendre comment ça marche. Mais avec un sous-formulaire, c'est idem !
    Pour pièger, j'ai écrit ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Form_Current()
    DoCmd.OpenTable "Activités"
    MsgBox "Avant procédure ?", vbOKOnly
    CurrentDb.Execute "UPDATE Activités Set Active=False"
    DoCmd.Close acTable, "Activités"
    DoCmd.OpenTable "Activités"
    MsgBox "Tous les enrg mis à False ?", vbOKOnly
    DoCmd.Close acTable, "Activités"
    CurrentDb.Execute "UPDATE Activités Set Active=True Where [act]=" & Nz(Me.act, 0)
    DoCmd.OpenTable "Activités"
    MsgBox "Enrg actif ?", vbOKOnly
    DoCmd.Close acTable, "Activités"
    'DoCmd.RepaintObject acForm, "Activités"
    End Sub
    Quand je change d'enregistrement, sur l'évènement On Current, je vois dans la table Activités que le champ 'Actif' change bien (je l'ai piégé) mais en finalité, ça ne se dessine pas sur le formulaire ... Etrange !

    Merci.

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Je t'ai parlé de sous-formulaire parce qu'il parle de sous formulaire dans la Q/R

    As tu bien appliqué ce qui est détaillé dans la FAQ ??
    • La création de la table tblBackGrounds,
    • La modification de la table d'origine,
    • La modification de la source du sous-formulaire (ou du formulaire),
    • La modification du sous-formulaire ou formulaire

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 241
    Points : 145
    Points
    145
    Par défaut Oh oui alors ...
    J'ai même fait la manip sur deux PC avec deux Access différents (97 et 2002) et j'ai le même résultat. J'ai demandé sur le chat ici et quelqu'un m'a répondu que la procédure de Maxence Hubiche fonctionne puisqu'il l'a appliquée pour lui-même.
    Du coup, je suis perplexe.
    Et j'ai bien tout fait comme écrit puisque cela fonctionne à l'ouverture du formulaire, donc, le code fonctionne quelque part, mais une seule fois et ce, dans le formulaire car il fonctionne à coup sur dans la table. En fait, la formulaire ne visualise pas le contenu de la table !!!
    Cela se peut-il qu'il me manque une librairie, une truc spécial dont access a besoin pour réaliser une telle manip puisque dans la procédure de Maxence, il est bien écrit que c'était plus du bricolage qu'autre chose ?
    Autre certitude que cela fonctionne : dans la requête, quand je visualise le champ Couleur (qui pointe un fichier Paint, un petit carré de couleur), la couleur correspond bien à celle choisie pour l'enregistrement actif quand le champ Active est coché. Bref, je suis à deux doigts de réussir mais il me manque quelque chose ...

  6. #6
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Quand tu parles de l'évènement On Current (qui soit dit en passant n'existe pas), tu parles de 'Sur Activation' qui s'appelle en VBA 'Form_Current' ou de 'Sur Activé' qui s'appelle en VBA 'Form_Activate' ?

    Tu peux mettre une base vers97 ?

  7. #7
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 241
    Points : 145
    Points
    145
    Par défaut
    Dans la procédure de Maxence, oui, il est écrit 'sur activation' donc j'ai mis sur Private Sub Form_Current() ...

    Oui, j'ai Access 97 à mon travail et donc, je travaille dessus. J'ai Access 2002 chez moi. J'ai créé l'exemple sur les deux machines ... avec le même résultat !

    Merci pour votre patience.

  8. #8
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 241
    Points : 145
    Points
    145
    Par défaut Complément :
    Dans la procédure de Maxence Hubiche, il est écrit :

    Voici comment procéder :
    Vous avez besoin d'une table ayant 2 champs (tblBackGrounds) :
    Active (oui/non) => PK
    Couleur(Objet OLE) => vous y mettrez, suivant la valeur de Active, un tout petit carré de couleur. Une image bitmap toute petite.
    Dans la table que vous affichez actuellement, il vous faut aussi ajouter un champ Active (Oui/Non).

    Quelqu'un connait-il la signification de PK ?
    C'est peut-être pour cela que ça ne fonctionne pas puisque s'il faut mettre quelque chose dans ce champ, moi je n'ai rien mis, ne savant pas ce que signifient ces deux lettres !

  9. #9
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    PK => Primary Key => Clé primaire.

    Cf : les conventions typographique en VBA

  10. #10
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Je viens d'esayer l'astuce de Maxence (sous Access 2003)... ça marche trés bien dans mon cas.


    Peut être que ton image pose problème

  11. #11
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 241
    Points : 145
    Points
    145
    Par défaut Merci à tous !
    Ca fonctionne ...

    Je ne sais pas si c'est le fait d'avoir mis la Clé Primaire dans la table ou si c'est avoir effacer les relations entre tables (qui se contruisaient toutes seules dans la vue Relations !!!) mais ça marche !

    Petite précision : ça fonctionne si je clique dans l'enregistrement (partie Détail du formulaire) mais pas si je clique sur le sélecteur de l'enregistrement sur le coté à gauche. Peu importe, ça fonctionne ... Je vais créer un faux bouton de sélection et enlever les sélecteurs Access et le tour sera joué !

    Merci ...

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

Discussions similaires

  1. Check Box dans Formulaire continu
    Par Tintou dans le forum IHM
    Réponses: 26
    Dernier message: 05/07/2007, 14h24
  2. image dans formulaire continu
    Par cbleas dans le forum IHM
    Réponses: 2
    Dernier message: 04/04/2007, 19h09
  3. Multisélection dans formulaire continu
    Par Farbin dans le forum IHM
    Réponses: 5
    Dernier message: 13/02/2007, 10h26
  4. liste déroulante dans formulaire continu
    Par remi59 dans le forum Access
    Réponses: 7
    Dernier message: 31/03/2006, 09h40
  5. Figer colonnes dans formulaire continu
    Par Mr.Gus dans le forum IHM
    Réponses: 10
    Dernier message: 30/11/2003, 13h59

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