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 :

Formatage conditionnel dans le formulaire


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 97
    Points : 52
    Points
    52
    Par défaut Formatage conditionnel dans le formulaire
    Salut a tous !

    Mon formulaire a trois cases a cocher (oui, non, re-ouvrir). Donc s'il n'y a pas d'autres données a entrer, en cochant la case ''oui'', toutes les entrées ne sont plus accessibles (toutes les cases sont grises). Ca marche très bien avec le formattage conditionnel.
    Le seul problème que je rencontre c'est pour 2 autres cases (changement et numéro) a cocher qui ne sont pas dépendantes du reste du formulaire. Elles se grisent avec le formattage conditionnel sans problème, mais lorsqu'on fait des opérations sur ces cases, par exemple, je clique sur la case ''changement'', je peux entrer du texte dans un champ a cote de cette case.e plus, en cochant la case ''chanegment'', la case ''numéro'' ainsi que son champ associé vont devenir inaccessibles. Même chose dans le cas contraire.
    Le problème c'est que ces deux cases restent grises sur chaque nouveau enregistrement ce que je ne veux pas. J'ai essayé d'appliquer le formattage conditionnel une seconde fois (la 1ere fois avec la case ''oui'', donc 2 conditions), mais ca ne fonctionne pas.

    Quelqu'un a une idée ?

    Merci

    vautour29

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 50
    Points
    50
    Par défaut
    Salut
    dans ces cas là je vois que du formatage conditionnel fait à la main .

    En gros je te propose de gérer toi même le grisé de tes cases sur les évènement concerné.
    Par exemple aprés mise à jour d'un champ tel control se grise

    exemple de mon code (si lacase à cocher prendcours est cocher, alors on affiche le contrôle Pri_COURS) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub prendcours_AfterUpdate()
     
    If prendcours Then
        PRI_COURS.Visible = True
    Else
        PRI_COURS.Visible = False
    End If
    end sub
    voilà @+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 97
    Points : 52
    Points
    52
    Par défaut
    Salut bitou,

    J'ai essayé ton code, mais le problème est toujours la car une fois le code appliqué, ca se répète sur les autres enregistrements au lieu de n'etre actif que sur les enregistrements ou c'est appliqué.

    voici mon 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
    Private Sub CR_Click()
       FLO_Alert.Enabled = Not CR.Value
       EDAS_ID.Enabled = Not CR.Value
       If CR.Value Then
       codes.SetFocus
       End If
    End Sub
     
    Private Sub FLO_Alert_Click()
       CR.Enabled = Not FLO_Alert.Value
       codes.Enabled = Not FLO_Alert.Value
       If FLO_Alert.Value Then
       EDAS_ID.SetFocus
       End If
    End Sub
    Donc si la case CR est cochée, alors la case FLO_Alert et le champ EDAS_ID vont se griser. Dans le cas contraire, si la case FLO_Alert est cochée, la case CR et le champ ''codes'' vont se griser. Avec ton code, ca se reproduit sur tous les enregistrements. Il faut qu'au prochain enregistrement il y ait une mise a jour, autrement dit que les cases soient pas cochées.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 50
    Points
    50
    Par défaut
    A ce moment là sur l'évènement Form_Current() du formulaire tu réinitialise tout ou tu refais les test que tu viens de montrer :

    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()
       FLO_Alert.Enabled = Not CR.Value
       EDAS_ID.Enabled = Not CR.Value
       If CR.Value Then
             codes.SetFocus
       End If
     
       CR.Enabled = Not FLO_Alert.Value
       codes.Enabled = Not FLO_Alert.Value
       If FLO_Alert.Value Then
             EDAS_ID.SetFocus
       End If
    end sub
    normalement le code est bon
    @+

    PS: Form_current se "met en route" sur ouverture, changement d'enregistrement etc ...... en fait dés que ta page "change"

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 97
    Points : 52
    Points
    52
    Par défaut
    ok ,mais ou je fais mettre le code pour Form_current ? dans les propriétés du formulaire ou bien dans VBA a la toute fin du code ?

    Merci

    vautour29

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 50
    Points
    50
    Par défaut
    tu va sur les propriétés de ton formulaire et tu clique sur "Sur activation" et les ... qu'il y a au bout.
    et tu colle ce que je t'ai donné
    voilà @+

    (si tu colle dans le VBA de ton form ça marche aussi d'ailleurs !)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 97
    Points : 52
    Points
    52
    Par défaut
    Salut bitou,

    J'ai tout entré dans les propriétées du formulaire (On Current). Tout a l'air de bien marcher car sur les prochains enregistrements, la mise a jour se fait bien et ils ne sont plus gris. Par contre, en revenant après avoir fait des tests, j'ai eu ce message : 'Run-time error '2110' Database can't move the focus to control codes''. Cela m'a amene dans le VBA et le code sur Form current, la ligne ''codes.SetFocus'' est en jaune. Il doit y avoir un bug quelque part...

    J'ai essayé de séparer les 2 codes avedc 2 form current pour chacun, mais même problème.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 50
    Points
    50
    Par défaut
    salut,
    ça vient juste du champ codes.
    Il faut voir pourquoi il ne peu pas lui donner le focus .. il y a des chances que ton control codes est verrouillé, à ce momment là à la fin du code tu met :

    autrectrl.Setfocus

    voila

    @+

Discussions similaires

  1. formatage conditionnel dans un formulaire
    Par antoine dpt dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/06/2009, 16h11
  2. Réponses: 12
    Dernier message: 10/02/2009, 21h43
  3. Affichage conditionnel dans un formulaire
    Par EIN-LESER dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/01/2009, 13h22
  4. Mise en forme conditionnelle dans un formulaire
    Par moilou2 dans le forum IHM
    Réponses: 1
    Dernier message: 22/02/2008, 18h13
  5. Réponses: 1
    Dernier message: 25/01/2008, 10h17

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