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 :

étiquette visible si?


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut étiquette visible si?
    Bonjour,

    j'ai créé un formulaire et un état. Dans le formulaire [Fverso] j'ai une case à cocher [CHKBOXrepas].

    Je veux que lorsque je la coche, il apparaisse sur l'état nommé [Everso] l'étiquette [étiquetterepas]

    J'ai vu plein de solution sur les post mais je n'y arrive pas. je dois glisser le code au mauvais endroit...

    alors, que faut-il mettre comme code, et ou?

    please help...

    merci

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Bjr,

    ça doit ressembler à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub CHKBOXrepas_AfterUpdate()
    Forms("Everso").étiquetterepas.visible = CHKBOXrepas.value
    End Sub
    Pour bien générer la procédure sans erreur de syntaxe, allez sur les propriétés de la case à cocher et dans événements -> après mise à jour , sélectionnez [Procédure évenementielle] et cliquer sur les trois petits points à droite pour ouvir l'éditeur VBA.
    Il n'y a plus qu'à insérer la ligne de code qui affiche ou masque l'étiquette en fonction de la valeur de la case à cocher.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut étiquette visible si
    Bonjour et merci de s'intéresser à ma question...

    visiblement ça ne fonctionne pas car le code se met en rouge...

    j'ai aussi essayé sans les parenthèse et les guillemets de [erverso]...

    je pige pas...

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Ah ! Je viens de voir que c'était pour un état....

    C'est Reports au lieu de Forms pour un état.

    L'état est ouvert sur un click sur le formulaire?
    A ce moment il est peut-être préférable de mettre le code dans l'état sur formatage de la section contenant l'étiquette.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.étiquetterepas.visible = Forms("Fverso").CHKBOXrepas.value

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut étiquette visible si
    merci pour l'info sur ''report''

    peux tu m'en dire un poile plus?

    je met ou ce code? je ne vois pas ''formatage'' dans la feuille de propriété?

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    ça commence à venir....

    j'ai rentré dans l'après MAJ de ma case à cocher : (en VBA)

    If [CHKBOX repas] = -1 Then
    [étiquetterepas].Visible = True
    Else
    [étiquetterepas].Visible = False

    du coup ça me change mais dans le formulaire et non dans l'état...

    je me dis donc que il faut que je lui dise ou est vraiment le [étiquetterepas] que je veux changer...

    j'ai essayé : Reports![Everso]![etiquetterepas].Visible = True

    mais en vain...

    as tu autre solution?

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut de mieux en mieux
    Je veux pas prendre tout ton temps mais si tu as encrore 5 minutes à m'accorder...

    J'ai réussi à faire le changement dans l'état...

    J'ai mis le code VBA dans Après MAJ de la case à cocher puis aussi dans la propriété de l'état (première ligne des événements)

    Ca fonctionne comme ça. Le truc c'est que l'état doit être ouvert sinon j'ai un message d'erreur comme quoi l'état n'existe pas ou n'est pas ouvert.

    j'imagine que j'ai mis le code dans un mauvais endroit... Alors pour l'instant je suis obligé de rentrer des paramètres dans le formulaire puis ensuite d'afficher l'état et enfin à l'aide des cases à cocher du formulaire de faire apparitre ou non ce que je veux... pas très pratique....

    Du coup je veux bien un petit coup de main...; merci à toi

  8. #8
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    On ne peut pas modifier l'état une fois qu'il est ouvert (en tout en version 2000)
    Il faut modifier la propriété "visible" de l'étiquette au moment du formatage, c'est à dire quand l'état s'ouvre.
    Double click sur la barre de séparation de la section (la barre notée "En-tête de page", "détail", ...) puis dans événément -> sur formatage ; sélectionnez [Procédure évenementielle] et cliquer sur les trois petits points à droite pour ouvir l'éditeur VBA.

  9. #9
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    oups,,, je crois que j'ai inventé l'état qui change même ouvert!!!

    tu dis : ''On ne peut pas modifier l'état une fois qu'il est ouvert'' et bien chez moi ça marche (version 2007)...

    en tous cas j'ai bien remis le code au bon endroit je pense. j'ai essayé de le mettre dans ''détail" mais ça ne marche pas...

    il me demande toujorus d'ouvrir l'état en premier...

    tu n'as pas une autre idée???

    SInon je suis en train de me dire que tout ceci n'est peut être pas la meilleure solution...

    en effet, en regardant mon état, lorsque je n'affiche pas 2 ou 3 lignes il est moche car il y a un gros trou en plein milieu...

    N'y a-til pas moyen de faire en sorte que si la ligne 4 et 5 n'est pas affichée, la ligne 6 remonte à la place de la ligne 4?

    tu me suis?

  10. #10
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Citation Envoyé par françois35 Voir le message
    tu dis : ''On ne peut pas modifier l'état une fois qu'il est ouvert'' et bien chez moi ça marche (version 2007)...
    Possible que ce soit nouveau dans la version 2007


    Citation Envoyé par françois35 Voir le message
    en tous cas j'ai bien remis le code au bon endroit je pense. j'ai essayé de le mettre dans ''détail" mais ça ne marche pas...

    il me demande toujorus d'ouvrir l'état en premier...

    tu n'as pas une autre idée???
    Ne pas mettre de code de modif de l'état dans le formulaire

    1 - l'utilisateur choisi les options dans le formulaire (la case à cocher donc)
    2 - on ouvre l'état (sur click sur un bouton peut-être?)
    3 - lors du formatage de l'état on affiche ou pas en fonction de la donnée dans le formulaire (qui est ouvert vu que c'est lui qui a appelé l'état) dans l'événement sur formatage de la section


    Citation Envoyé par françois35 Voir le message
    SInon je suis en train de me dire que tout ceci n'est peut être pas la meilleure solution...

    en effet, en regardant mon état, lorsque je n'affiche pas 2 ou 3 lignes il est moche car il y a un gros trou en plein milieu...

    N'y a-til pas moyen de faire en sorte que si la ligne 4 et 5 n'est pas affichée, la ligne 6 remonte à la place de la ligne 4?
    en gros tu voudrais masquer toute une section alors?
    avec le paramètre Cancel de l'évenement on peut annuler le formattage d'une section :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    If [Le test ici] then Cancel = True
    End Sub
    A tester pour voir si ça correspond à ce que tu veux

    Citation Envoyé par françois35 Voir le message
    tu me suis?
    non pas tout...

  11. #11
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    j'aime bien le ''non pas tout''

    je te comprends...

    mais je n'ai pas compris toutes tes explications...

    J'ai écris dans après MAJ ce la case à cocher du sous formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If [CB repas] = -1 Then
    Reports![Verso Pretstaion]![Date repas].Visible = True
    Else
    Reports![Verso Pretstaion]![Date repas].Visible = False
    End If
    et j'ai écris dans l'événement ''sur acrtivation de l'état'' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Forms![P]![Verso Pretstaion]![CB repas] = -1 Then
    Reports![Verso Pretstaion]![Date repas].Visible = True
    Else
    Reports![Verso Pretstaion]![Date repas].Visible = False
    End If
    J'enregistre et je ferme tout...

    puis je clique sur la case à cochée et là j'ai un message d'erreur : erreur d'exécution 2451 : Le nom d'état ''Verso Pretstaion" entré dans votre expression est mal orthographié ou fait référence à un état qui n'est pas ouvert ou qui n'existe pas.

    Donc j'ouvre l'état. Et là quand je fais les modifs dans l'état ouvert ça fonctionne, mais c'est pas pratique du tout...

    quand j'ai ce message d'erreur, si je fais débogage j'obtient ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CB_repas_AfterUpdate()
    If [CB repas] = -1 Then
    Reports![Verso Pretstaion]![Date repas].Visible = True
    Else
    ------Reports![Verso Pretstaion]![Date repas].Visible = False------
    End If
    End Sub
    ce que j'ai mis entre tirets étant en jaune...

    franchement je vois pas et je commence à démoraliser... ça à l'air tout con pourtant...

  12. #12
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bjr,

    Le problème c'est que là je n'ai pas acces.
    Donc j'essaye de t'aider sans pouvoir tester en même temps

    Dans mon esprit la mise en page d'un état se déroule comme écrit précédemment :
    1 - je choisi dans le formulaire mes options d'affichage de l'état
    1 bis - je n'essaye pas de modifier l'état avec du code dans ce formulaire
    2 - j'ouvre l'état
    3 - au formattage de l'état (pas dans l'évenement "sur activation" mais dans l'événement "sur formattage" de chacune des section, je fais mes modifs en fonction des valeurs lus sur le formulaire

    Seulement je ne sais plus ce que tu veux faire.
    L'étiquette du départ a disparu, il y a maintenant une [date repas]
    Je suis tout embrouillé, je ne comprend rien du tout en fait.

  13. #13
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Merci ça fonctionne déjà mieux.

    mais je suis toujours obligé d'ouvrir mon état avant...

    je ne comprends pas...

    est-ce que j'ai pas fait une erreur dans laé création de l'état?

  14. #14
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    dsl

    car à chaque fois que je clique sur la case à cocher il me met :

    erreur d'exécution '2451'
    Le nom d'état ''Verso Pretstaion'' entré dans votre expression est mal orthographié ou fait référence à un état qui n'existe pas ou qui n'est pas ouvert


    et là c'est le drame....

  15. #15
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    ça doit être à cause de code qui fait référence à l'état...

    c'est bien comme cela :

    Reports![Verso Pretstaion]![Date repas].Visible = False

    que j'écris que je veux que ça influe sur l'étiquette [Date repas] située dans l'état ''Verso Pretstaion''?

    merci encore

  16. #16
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Le coup de l'état qui doit être ouvert c'est normal si le code du formulaire essaye de modifier l'état, il doit être ouvert; on ne peut pas modifier un état avant de l'ouvrir.

    Pourquoi avoir donné le nom "Pretstaion" et pas "Prestation"?
    C'est pas une faute de frappe?

  17. #17
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    J'ai réussi!!! je sais pas trop après quel bidouillage mais toujours est-il que j'arrive à le refaire... il ne fallait pas mettre le code dans Après MAJ de la case à cocher du formulaire...

    En tous cas c'est bon...

    donc ma deuxième question...

    sur mon état, maintenant que certaines choses ne s'affichent plus... je souhaiterai que la ligne suivante prennent la place de la précédente qui ne s'est pas affichée... je m'explique

    admettons que j'ai 5 case : C1, C2, C3, C4, C5 qui affichent 5 étiquettes placées les une en dessous des autres (E1, E2, E3, E4, E5)

    si je ne coche pas C2 et C3, j'ai un gros trou au milieu de mon état. Comment faire alors pour que E4 (qui est visible) prenne la place de E2 (qui n'est pas visible)?

    merci

  18. #18
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    si c'est une faute de frappe...

    mais je suis novice en access

    peut on renomer sans incidence pour la base? ou faut-il que je retransforme le nom a chanque fois qu'il est présent dans un code?

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/02/2009, 18h55
  2. Réponses: 1
    Dernier message: 25/06/2008, 21h26
  3. Utiliser une variable pour mettre des étiquettes visible
    Par patate5555 dans le forum VBA Access
    Réponses: 8
    Dernier message: 21/06/2007, 13h51
  4. determiner les ligne visible ds un RichEdit
    Par hhfr dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/09/2002, 18h15
  5. Form principale non visible au demarrage!!!!
    Par toufou dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/07/2002, 21h49

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