Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Section détail d'un état. Contrôle visible/invisible

10 réponses
Avatar
jg1
Bonjour.

Comment parcourir tous les contr=F4les de la section d=E9tail , et faire
une condition pour :
si page =3D 1 contr=F4les visible.
si page > 1 contr=F4les invisible

Merci de votre aide.

Salutations

10 réponses

Avatar
J-Pierre
Bonjour,

Et pourquoi ne pas mettre carrément la section invisible, plutôt que tous ses contrôles ?

J-Pierre

a écrit dans le message de news:
Bonjour.

Comment parcourir tous les contrôles de la section détail , et faire
une condition pour :
si page = 1 contrôles visible.
si page > 1 contrôles invisible

Merci de votre aide.

Salutations
Avatar
jg1
Bonjour,

Je voudrai rendre invisible seulement les Etiquette1 à Etiquette20 sur
la deuxieme pages et non pas la section entière.

Merci pour ton aide.

Salutations
Avatar
J-Pierre
Bonjour,

Je copie le code que j'ai publié quelques fils plus haut, je l'adapte à la mimine, mais ne le teste pas :-)))))

Si tu l'adoptes, je te conseille de modifier les noms, en remplaçant "Étiquette" par quelque chose de plus parlant, par exemple
"LesBalisesDeJP", et d'adapter la longueur de Left.

Dans ce cas, tu enlèves "If ControlType¬Label", et tu peux différencier les étiquettes (ou les autres contrôles) que tu veux
rendre invisibles des autres.

Tu mets tout ce code sur l'évènement formatage de la section de ton état.

Dim ctl As Access.Control

if me.page = 2 Then
For Each ctl In Me.Controls
If ctl.ControlType = acLabel Then
If Left(ctl.Name, 9) = "Étiquette" Then
Ctl.visible = False
End If
End If
Next ctl
End If

Si ça ne marche pas, tu as même le droit de râler :-)

J-Pierre
Avatar
jg1

Bonjour,

Je copie le code que j'ai publié quelques fils plus haut, je l'adapte à la mimine, mais ne le teste pas :-)))))

Si tu l'adoptes, je te conseille de modifier les noms, en remplaçant " Étiquette" par quelque chose de plus parlant, par exemple
"LesBalisesDeJP", et d'adapter la longueur de Left.

Dans ce cas, tu enlèves "If ControlType¬Label", et tu peux différ encier les étiquettes (ou les autres contrôles) que tu veux
rendre invisibles des autres.

Tu mets tout ce code sur l'évènement formatage de la section de ton état.

Dim ctl As Access.Control

if me.page = 2 Then
For Each ctl In Me.Controls
If ctl.ControlType = acLabel Then
If Left(ctl.Name, 9) = "Étiquette" Then
Ctl.visible = False
End If
End If
Next ctl
End If

Si ça ne marche pas, tu as même le droit de râler :-)

J-Pierre


Bonsoir J-Pierre.

J'ai mis le code sur l'évènement formatage de la section détail de
mon état, et tous les contrôles deviennent invisibles.

J'ai remarquer que "ctl.Name" prend la valeur du nom de l'état mais
pas celui de l'Etiquette.

Merci pour ton aide.

Salutations.

Avatar
jg1


Bonjour,

Je copie le code que j'ai publié quelques fils plus haut, je l'adapte à la mimine, mais ne le teste pas :-)))))

Si tu l'adoptes, je te conseille de modifier les noms, en remplaçant "Étiquette" par quelque chose de plus parlant, par exemple
"LesBalisesDeJP", et d'adapter la longueur de Left.

Dans ce cas, tu enlèves "If ControlType¬Label", et tu peux diff érencier les étiquettes (ou les autres contrôles) que tu veux
rendre invisibles des autres.

Tu mets tout ce code sur l'évènement formatage de la section de ton état.

Dim ctl As Access.Control

if me.page = 2 Then
For Each ctl In Me.Controls
If ctl.ControlType = acLabel Then
If Left(ctl.Name, 9) = "Étiquette" Then
Ctl.visible = False
End If
End If
Next ctl
End If

Si ça ne marche pas, tu as même le droit de râler :-)

J-Pierre


Bonsoir J-Pierre.

J'ai mis le code sur l'évènement formatage de la section détail de
mon état, et tous les contrôles deviennent invisibles.

J'ai remarqué que "ctl.Name" prend la valeur du nom de l'état mais
pas celui de l'Etiquette.

Merci pour ton aide.

Salutations.


Re bonsoir J-Pierre.

Toutes mes excuses pour la ligne "ctl.Name" je viens de comprendre son
sens,
Mais lorsque j'ai les pages :

1/1 les contrôles apparaissent, c'est normal.

1/2 les contrôles apparaissent, c'est normal.
2/2 les contrôles apparaissent, c'est pas normal.

Salutations


Avatar
J-Pierre
Désolé.....Voilà le code testé, l'état comporte 6 pages, les étiquettes se trouvent dans l'en-tête de page, celles dont le nom
commence par "Étiquette" sont invisibles sur la page 2.

Dim ctl As Access.Control

For Each ctl In Me.Controls
If ctl.ControlType = acLabel Then
If Left(ctl.Name, 9) = "Étiquette" Then
If Me.Page = 2 Then
ctl.Visible = False
Else
ctl.Visible = True
End If
End If
End If
Next ctl

J-Pierre
Avatar
jg1

Désolé.....Voilà le code testé, l'état comporte 6 pages, les étiquettes se trouvent dans l'en-tête de page, celles dont le nom
commence par "Étiquette" sont invisibles sur la page 2.

Dim ctl As Access.Control

For Each ctl In Me.Controls
If ctl.ControlType = acLabel Then
If Left(ctl.Name, 9) = "Étiquette" Then
If Me.Page = 2 Then
ctl.Visible = False
Else
ctl.Visible = True
End If
End If
End If
Next ctl

J-Pierre


Avatar
jg1


Désolé.....Voilà le code testé, l'état comporte 6 pages, les étiquettes se trouvent dans l'en-tête de page, celles dont le nom
commence par "Étiquette" sont invisibles sur la page 2.

Dim ctl As Access.Control

For Each ctl In Me.Controls
If ctl.ControlType = acLabel Then
If Left(ctl.Name, 9) = "Étiquette" Then
If Me.Page = 2 Then
ctl.Visible = False
Else
ctl.Visible = True
End If
End If
End If
Next ctl

J-Pierre



Bonjour J-Pierre

Merci le code fonctionne très bien.
Mais j'ai encore besoin d'un petit coup de main.
Lorsque je suis sue la page 1/2 j'ai un trait vertical (h) et un
horizontal (l), je voudrai sur la page 2/2 qu'ils aient une
dimension de h et l .

As-tu une solution ?

Salutations.


Avatar
J-Pierre
Bonjour,

Tu utilises les propriétés Left, Top, Height et Width de tes traits. De mémoire (donc pas testé :-)

ctl.ControlType = acLine
les propriétés sont Ctl.Left etc.....

Tu n'as pas obligatoirement besoin de passer par la collection controls si tu n'as que 2 traits, tu peux coder directement:

Me.MonTraitX.Height = nnnnn EN TWIPS

C'est quoi, des twips ? Une unité de mesure que Microsoft a inventé juste pour nous emmerder.
1 pouce = 2,54 cm = 1440 twips

J-Pierre

a écrit dans le message de news:

Bonjour J-Pierre

Merci le code fonctionne très bien.
Mais j'ai encore besoin d'un petit coup de main.
Lorsque je suis sue la page 1/2 j'ai un trait vertical (h) et un
horizontal (l), je voudrai sur la page 2/2 qu'ils aient une
dimension de h et l .

As-tu une solution ?

Salutations.
Avatar
jg1

Bonjour,

Tu utilises les propriétés Left, Top, Height et Width de tes traits. De mémoire (donc pas testé :-)

ctl.ControlType = acLine
les propriétés sont Ctl.Left etc.....

Tu n'as pas obligatoirement besoin de passer par la collection controls s i tu n'as que 2 traits, tu peux coder directement:

Me.MonTraitX.Height = nnnnn EN TWIPS

C'est quoi, des twips ? Une unité de mesure que Microsoft a inventé j uste pour nous emmerder.
1 pouce = 2,54 cm = 1440 twips

J-Pierre

a écrit dans le message de news: 1149505247.520810.187410 @u72g2000cwu.googlegroups.com...

Bonjour J-Pierre

Merci le code fonctionne très bien.
Mais j'ai encore besoin d'un petit coup de main.
Lorsque je suis sue la page 1/2 j'ai un trait vertical (h) et un
horizontal (l), je voudrai sur la page 2/2 qu'ils aient une
dimension de h et l .

As-tu une solution ?

Salutations.


Re Bonjour J-Pierre.

Ok tout fonctionne correctement.

Un grand merci.

Salutations.