OVH Cloud OVH Cloud

activation des champs d'un formulaire sous condition

3 réponses
Avatar
marc
Bonjour,
Existe-t-il un moyen simple d'activer le champ d'un
formulaire si un autre champ du formulaire remplit une
condition de valeur
merci!
marc

3 réponses

Avatar
Raymond
Bonjour

Tu as plusieurs possiblités pour activer (au sens large du terme et non
seulement lui donner le focus) un contrôle selon la valeur d'un autre
contrôle.
If Me.Lenom = "raymond" Then
Me.Montant.Visible = False
Me.Montant.Locked = True
Me.Montant.Enabled = False
Me.Montant.SetFocus
Else
' ici le contraire
End If

Visible permet d'afficher ou non le contrôle
Locked permet de bloquer ou non le contrôle et interdire ou autoriser la
saisie
Enabled permet de bloquer le contrôle et de le rendre grisé (entre visible
et invisible) ou le rendre visible
SetFocus permet de se positionner sur ce contrôle et le placer comme
contrôle actuel et actif


--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"marc" a écrit dans le message de
news:0af901c34acf$4c7cd140$
Bonjour,
Existe-t-il un moyen simple d'activer le champ d'un
formulaire si un autre champ du formulaire remplit une
condition de valeur
merci!
marc


Avatar
joyeux atchoum
Sl't

Existe-t-il un moyen simple d'activer le champ d'un
formulaire si un autre champ du formulaire remplit une
condition de valeur


sur l'evenement before/after update, ça devrait aller
sur cet evenement tu testes ton champ
et en fonction du resultat tu active ou non ton 2° champ

sub tonchamp_afterupdate()

if Screen.ActiveControl = "toto" then '//ou bien Me.champ1 =
"toto"
Me.champ2.enabled = true
else
Me.champ2.enabled = false
end if

end sub

voili
ja;)
qui essaye de trouver une idée de genie pour ses requete dynamique

Avatar
Michel Walsh
Salut,


Dans la procédure événementielle onCurrent du formulaire, after update du controle "contrôlant"
(et onUndo du formulaire, dépendamment de la version), faire:



If Me.NomDuControle > 423 Then
Me.NomDuControleControlé.Visible = True
Else
Me.NomDuControleControlé.Visible = False
End if


Évidemment, dans ce cas simple, on peut faire en une seule ligne:

Me.NomDuControleControlé.Visible = CBool( Me.NomDuControleControlant > 423 )



J'ai supposé que la condition était de montrer (afficher/activer) le controle controlé si la valeur
dans le controle controlant était supérieure à 423.


On peut également utiliser le "Conditionnal Formating", si besoin est.



Espérant être utile,
Vanderghast, Access MVP


"marc" wrote in message news:0af901c34acf$4c7cd140$
Bonjour,
Existe-t-il un moyen simple d'activer le champ d'un
formulaire si un autre champ du formulaire remplit une
condition de valeur
merci!
marc