J aimerais que la selection de la valeur "oui" dans un
champ oui/non debloque ("enable") d autres champs sur un
formulaire.
Plutot que de repeter "x" fois le code suivant, y a t il
un racourci? J avais pense faire appel a la
propriete "tag" en assignant une caracteristique commune
a tous les champs que je veux debloquer. Mais je ne sais
pas comment faire.
Merci!
Private Sub Promoter_AfterUpdate()
If Me.Promoter = "-1" Then
Me.PromoterName.Enabled = True
Else
Me.PromoterName.Enabled = False
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
Tu as, entr'autres, deux solutions simples: - nommer tous les contrôles par le même nom suivi d'un index. -placer une valeur dans remarques pour les repérer
Dim Ctl As Control For Each Ctl In Me.Controls If Left(Ctl.Name, 5) = "XXXXX" Then If OuiNon Then Ctl.Visible = False Else Ctl.Visible = True End If End If Next Ctl
Dim Ctl As Control For Each Ctl In Me.Controls If Ctl.Tag = "XXXXX" Then If OuiNon Then Ctl.Visible = False Else Ctl.Visible = True End If End If Next Ctl
les True/false sont à ajuster à tes tests réels.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Martin" a écrit dans le message de news:4a8801c48049$aa32a430$
Bonjour,
J aimerais que la selection de la valeur "oui" dans un champ oui/non debloque ("enable") d autres champs sur un formulaire.
Plutot que de repeter "x" fois le code suivant, y a t il un racourci? J avais pense faire appel a la propriete "tag" en assignant une caracteristique commune a tous les champs que je veux debloquer. Mais je ne sais pas comment faire.
Merci!
Private Sub Promoter_AfterUpdate() If Me.Promoter = "-1" Then Me.PromoterName.Enabled = True Else Me.PromoterName.Enabled = False End If End Sub
Bonjour.
Tu as, entr'autres, deux solutions simples:
- nommer tous les contrôles par le même nom suivi d'un index.
-placer une valeur dans remarques pour les repérer
Dim Ctl As Control
For Each Ctl In Me.Controls
If Left(Ctl.Name, 5) = "XXXXX" Then
If OuiNon Then
Ctl.Visible = False
Else
Ctl.Visible = True
End If
End If
Next Ctl
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Tag = "XXXXX" Then
If OuiNon Then
Ctl.Visible = False
Else
Ctl.Visible = True
End If
End If
Next Ctl
les True/false sont à ajuster à tes tests réels.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Martin" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:4a8801c48049$aa32a430$a501280a@phx.gbl...
Bonjour,
J aimerais que la selection de la valeur "oui" dans un
champ oui/non debloque ("enable") d autres champs sur un
formulaire.
Plutot que de repeter "x" fois le code suivant, y a t il
un racourci? J avais pense faire appel a la
propriete "tag" en assignant une caracteristique commune
a tous les champs que je veux debloquer. Mais je ne sais
pas comment faire.
Merci!
Private Sub Promoter_AfterUpdate()
If Me.Promoter = "-1" Then
Me.PromoterName.Enabled = True
Else
Me.PromoterName.Enabled = False
End If
End Sub
Tu as, entr'autres, deux solutions simples: - nommer tous les contrôles par le même nom suivi d'un index. -placer une valeur dans remarques pour les repérer
Dim Ctl As Control For Each Ctl In Me.Controls If Left(Ctl.Name, 5) = "XXXXX" Then If OuiNon Then Ctl.Visible = False Else Ctl.Visible = True End If End If Next Ctl
Dim Ctl As Control For Each Ctl In Me.Controls If Ctl.Tag = "XXXXX" Then If OuiNon Then Ctl.Visible = False Else Ctl.Visible = True End If End If Next Ctl
les True/false sont à ajuster à tes tests réels.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Martin" a écrit dans le message de news:4a8801c48049$aa32a430$
Bonjour,
J aimerais que la selection de la valeur "oui" dans un champ oui/non debloque ("enable") d autres champs sur un formulaire.
Plutot que de repeter "x" fois le code suivant, y a t il un racourci? J avais pense faire appel a la propriete "tag" en assignant une caracteristique commune a tous les champs que je veux debloquer. Mais je ne sais pas comment faire.
Merci!
Private Sub Promoter_AfterUpdate() If Me.Promoter = "-1" Then Me.PromoterName.Enabled = True Else Me.PromoterName.Enabled = False End If End Sub
Martin
Merci Raymond.
J ai essaye la 2eme methode. Mais pour le ctl.Visibleúlse, j ai un message disant que cet object ne supporte pas cette methode/property.
Ou ai je donc faute?
Dim Ctl As Control For Each Ctl In Me.Controls If Ctl.Tag = "Enable" Then If Me.Promoter = "-1" Then Ctl.Enable = True Else Ctl.Enable = False End If End If Next Ctl
Merci Raymond.
J ai essaye la 2eme methode. Mais pour le
ctl.Visibleúlse, j ai un message disant que cet object
ne supporte pas cette methode/property.
Ou ai je donc faute?
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Tag = "Enable" Then
If Me.Promoter = "-1" Then
Ctl.Enable = True
Else
Ctl.Enable = False
End If
End If
Next Ctl
J ai essaye la 2eme methode. Mais pour le ctl.Visibleúlse, j ai un message disant que cet object ne supporte pas cette methode/property.
Ou ai je donc faute?
Dim Ctl As Control For Each Ctl In Me.Controls If Ctl.Tag = "Enable" Then If Me.Promoter = "-1" Then Ctl.Enable = True Else Ctl.Enable = False End If End If Next Ctl
Raymond [mvp]
ce n'est pas Enable mais Enabled qu'il faut indiquer. pour le test If Me.Promoter = "-1" mettre If Me.Promoter = -1 ou simplement If Me.Promoter Then
il faut tester aussi que le nom ne soit pas égal à celui qui a le focus car il y aura une erreur. certains contrôles ne supportent pas cette propriété, bien vérifier quand tu entres tes remarques. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Martin" a écrit dans le message de news:4ded01c48054$4a5aa840$
Merci Raymond.
J ai essaye la 2eme methode. Mais pour le ctl.Visibleúlse, j ai un message disant que cet object ne supporte pas cette methode/property.
Ou ai je donc faute?
Dim Ctl As Control For Each Ctl In Me.Controls If Ctl.Tag = "Enable" Then If Me.Promoter = "-1" Then Ctl.Enable = True Else Ctl.Enable = False End If End If Next Ctl
ce n'est pas Enable mais Enabled qu'il faut indiquer.
pour le test If Me.Promoter = "-1"
mettre If Me.Promoter = -1 ou simplement If Me.Promoter Then
il faut tester aussi que le nom ne soit pas égal à celui qui a le focus car
il y aura une erreur.
certains contrôles ne supportent pas cette propriété, bien vérifier quand tu
entres tes remarques.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Martin" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:4ded01c48054$4a5aa840$a601280a@phx.gbl...
Merci Raymond.
J ai essaye la 2eme methode. Mais pour le
ctl.Visibleúlse, j ai un message disant que cet object
ne supporte pas cette methode/property.
Ou ai je donc faute?
Dim Ctl As Control
For Each Ctl In Me.Controls
If Ctl.Tag = "Enable" Then
If Me.Promoter = "-1" Then
Ctl.Enable = True
Else
Ctl.Enable = False
End If
End If
Next Ctl
ce n'est pas Enable mais Enabled qu'il faut indiquer. pour le test If Me.Promoter = "-1" mettre If Me.Promoter = -1 ou simplement If Me.Promoter Then
il faut tester aussi que le nom ne soit pas égal à celui qui a le focus car il y aura une erreur. certains contrôles ne supportent pas cette propriété, bien vérifier quand tu entres tes remarques. -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Martin" a écrit dans le message de news:4ded01c48054$4a5aa840$
Merci Raymond.
J ai essaye la 2eme methode. Mais pour le ctl.Visibleúlse, j ai un message disant que cet object ne supporte pas cette methode/property.
Ou ai je donc faute?
Dim Ctl As Control For Each Ctl In Me.Controls If Ctl.Tag = "Enable" Then If Me.Promoter = "-1" Then Ctl.Enable = True Else Ctl.Enable = False End If End If Next Ctl
Merci Raymond. 'fectivement, comme dirait Beru, ca marche tres bien.
Merci Raymond.
'fectivement, comme dirait Beru, ca marche tres bien.