J'ai fait les modifs proposées, y compris Me.recalc sur le Form_Current() et sur le NO_PROF_BASE_After_Update()
MAIS ça ne marche toujours pas c'est vraiment dommage !
J'ai fait les modifs proposées, y compris Me.recalc sur le Form_Current() et sur le NO_PROF_BASE_After_Update()
MAIS ça ne marche toujours pas c'est vraiment dommage !
Dans ce cas essaye
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 If Not IsNull(Me.Champ) AND not me.NewRecord then Me.champ1.Visible = True Else Me.champ1.Visible = False End if
Désolé de vous décevoir, il n'y a pas de progrès !
change de cette façon
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Form_Current() If Not IsNull(Me.NO_PROF_BASE) Then NO_ETUDE.Visible = True Else NO_ETUDE.Visible = False End If if me.newreccord then NO_ETUDE.Visible = True end if End Sub
:trouve: Bonjour à tous,
Je suis content de vous annoncer que mon problème est
Afin d'en faire profiter d'autres amateurs de l'affichage sous condition voici comment j'ai procédé:
Tout d'abord, il faut savoir que mon formulaire comporte un bouton qui me permet d'exécuter une macro récupérant une valeur, l'incrémentant (+1) et l'affectant à 2 champs qui sont les clés pour 2 tables. Il fallait donc que les autres champs figurants sur le premier onglet de mon formulaire ne puissent pas être remplis tant que les champs clés indispensables n'auraient pas été renseigné (clic sur le bouton !)
Le premier code, élaboré avec l'aide du forum et en particulier sur la proposition de stéphane_ais2 sert donc à désactivé l'affichage des champs si NO_PROF_BASE est vide
Le deuxième code est une fonction toute simple que j'ai créé (j'suis assez content c'est ma première !) et qui est destinée à être exécutée lors du clic sur le bouton après que la macro ai affecté une valeur à mes deux champs clés (dont NO_PROF_BASE)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Form_Current() 'teste si le no_prof_base du formulaire courant est non-vide If Not IsNull(Me.NO_PROF_BASE) Then 'si le no_prof base est non-vide les champs no_etude, no_profil et num_org sont affichés NO_ETUDE.Visible = True NO_PROFIL.Visible = True NUM_ORG.Visible = True Else ' sinon ces trois champs sont masqués NO_ETUDE.Visible = False NO_PROFIL.Visible = False NUM_ORG.Visible = False End If End Sub
Dans ma macro il y a donc 2 fois DéfinirValeur puis ExécuterCode pour lequel j'appelle la fonction "afficher_champs_étude"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Function Afficher_champs_etude() 'crée une fonction nommée "afficher_champs_etude" 'qui rend visibles sans condition les champs no_etude, no_profil, et num_org NO_ETUDE.Visible = True NO_PROFIL.Visible = True NUM_ORG.Visible = True
Je pense que l'on pourrai peut-être faire tout ça de façon plus élégante sans macro mais je débute avec VBA...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager