Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2010, 19h13   #1
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
Par défaut Champ barré dans état

Bonjour,

Dans un état, est-il possible de barrer le contenu d'un champ si dans mon enregistrement un champ case à cocher = Vrai ?

Merci
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2010, 20h41   #2
Membre régulier
 
Homme Bruno Escaron
Inscription : janvier 2010
Messages : 84
Détails du profil
Informations personnelles :
Nom : Homme Bruno Escaron
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 84
Points : 96
Points : 96
Bonsoir,

Essaye :

Code :
1
2
3
4
5
6
7
8
 
'Champ2 = Champ avec la valeur Oui / Non
'Trait est une ligne qui barre le texte
'Lors de l'évènement de formatage de la ligne de l'état
 
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
   Me.Trait.Visible = Me.Champ2
End Sub
A+
B_SKO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 09h52   #3
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
Citation:
Envoyé par B_SKO Voir le message
Bonsoir,

Essaye :

Code :
1
2
3
4
5
6
7
8
 
'Champ2 = Champ avec la valeur Oui / Non
'Trait est une ligne qui barre le texte
'Lors de l'évènement de formatage de la ligne de l'état
 
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
   Me.Trait.Visible = Me.Champ2
End Sub
A+
Je ne crois pas que je me sois bien expliqué.
Dans l'image en annexe, c'est plus clair. Si le dernier champ est cliqué (Vrai), les autres champs doivent être barrés.
Images attachées
Type de fichier : jpg Sans titre.JPG (58,2 Ko, 9 affichages)
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 15h58   #4
Membre habitué
 
Inscription : janvier 2006
Messages : 99
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : janvier 2006
Messages : 99
Points : 101
Points : 101
La solution proposée par B_SKO est parfaitement valable à ton souci.
L'idée c'est que tu barres les champs en ajoutant un trait (ou par plusieurs traits si tu veux barrer chaque champ). Puis en utilisant la condition de formatage, tu testes la valeur de ta case à cocher. Si c'est vrai tu affiches ton trait, si c'est faux tu le masques (utilisation de la propriété visible). Ce qui donnera visuellement l'impression que les données sont barrées ou non en fonction de la case à cocher.
Aegnor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 17h07   #5
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
Citation:
Envoyé par Aegnor Voir le message
La solution proposée par B_SKO est parfaitement valable à ton souci.
L'idée c'est que tu barres les champs en ajoutant un trait (ou par plusieurs traits si tu veux barrer chaque champ). Puis en utilisant la condition de formatage, tu testes la valeur de ta case à cocher. Si c'est vrai tu affiches ton trait, si c'est faux tu le masques (utilisation de la propriété visible). Ce qui donnera visuellement l'impression que les données sont barrées ou non en fonction de la case à cocher.
Ok
en fait j'utilise access en anglais
pourrais-tu me dire quel est l'équivalent de trait ?
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 17h15   #6
Membre habitué
 
Inscription : janvier 2006
Messages : 99
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : janvier 2006
Messages : 99
Points : 101
Points : 101
Il s'agit de Line. Tu trouves ça dans ta barre d'outil entre les sous-formulaires et les rectangles.
Mais comme chaque objet dans un état dispose d'un nom qui lui est propre, ta ligne/trait aura aussi son nom qui lui sera propre. Bien souvent, Access nommera ta ligne : line suivit d'un numéro (par exemple line27).

Le code de B_SKO deviendre alors :
Code :
1
2
3
4
5
6
7
8
 
'Champ2 = Champ avec la valeur Oui / Non
'line27 est une ligne qui barre le texte
'Lors de l'évènement de formatage de la ligne de l'état
 
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
   Me.line27.Visible = Me.Champ2
End Sub
A toi d'adapter ce code pour qu'il corresponde au nom de tes objets dans tes états.
Aegnor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 16h08   #7
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
Citation:
Envoyé par Aegnor Voir le message
Il s'agit de Line. Tu trouves ça dans ta barre d'outil entre les sous-formulaires et les rectangles.
Mais comme chaque objet dans un état dispose d'un nom qui lui est propre, ta ligne/trait aura aussi son nom qui lui sera propre. Bien souvent, Access nommera ta ligne : line suivit d'un numéro (par exemple line27).

Le code de B_SKO deviendre alors :
Code :
1
2
3
4
5
6
7
8
 
'Champ2 = Champ avec la valeur Oui / Non
'line27 est une ligne qui barre le texte
'Lors de l'évènement de formatage de la ligne de l'état
 
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
   Me.line27.Visible = Me.Champ2
End Sub
A toi d'adapter ce code pour qu'il corresponde au nom de tes objets dans tes états.
Je n'y arrive pas
Pourrait-on m'aider un peu plus svp.

Si j'ai les champs suivants :
"Customer"
"Name"
"Under"

,quel code dois-je mettre dans mon état pour barrer les autres champs si mon champ "Under" est coché ?
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 16h39   #8
Membre habitué
 
Inscription : janvier 2006
Messages : 99
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : janvier 2006
Messages : 99
Points : 101
Points : 101
Tu dois créer une ligne qui va barrer tes champs.
Tu te mets en création dans ton état.
Tu sélectionnes les traits dans la boite à outils.
Tu tires ta ligne de manière à barrer tes champs.
Tu récupères le nom de ta ligne en demandant ses propriétés.
Puis tu sélectionnes la section détail de ton état.
Tu demandes les propriétés.
Tu cliques dans l'onglet évènements.
Sur la propriété "Au formatage", tu choisis "Procédure évènementielle".
Tu cliques ensuite sur les "...", ce qui t'amène dans la fenêtre VBA.
Là, dans ta procédure Private Sub Détail_Format, tu tapes la ligne de code
Code :
Me.nomdelaligne.Visible = Me.Under
Tu sauvegardes, et tu testes.

PS : désolé si je détaille trop les étapes, mais je ne vois pas où tu coinces.
Aegnor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 17h06   #9
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
Citation:
Envoyé par Aegnor Voir le message
Tu dois créer une ligne qui va barrer tes champs.
Tu te mets en création dans ton état.
Tu sélectionnes les traits dans la boite à outils.
Tu tires ta ligne de manière à barrer tes champs.
Tu récupères le nom de ta ligne en demandant ses propriétés.
Puis tu sélectionnes la section détail de ton état.
Tu demandes les propriétés.
Tu cliques dans l'onglet évènements.
Sur la propriété "Au formatage", tu choisis "Procédure évènementielle".
Tu cliques ensuite sur les "...", ce qui t'amène dans la fenêtre VBA.
Là, dans ta procédure Private Sub Détail_Format, tu tapes la ligne de code
Code :
Me.nomdelaligne.Visible = Me.Under
Tu sauvegardes, et tu testes.

PS : désolé si je détaille trop les étapes, mais je ne vois pas où tu coinces.

Super merci Aegnor
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h05.


 
 
 
 
Partenaires

Hébergement Web